27.字串常量和文字常量區
阿新 • • 發佈:2022-03-20
字串常量
#include<stdio.h>
int main()
{
//1.每個字串都是一個地址,這個地址是字串首元素的地址
//2.字串常量放在data區,文字常量區
printf("s1 = %s\n", "hello mike");
printf("s1 = %p\n", "hello mike");
printf("s1 = %s\n", "hello mike" + 1);//跳過第一個元素
printf("s4 = %c\n", *("hello wprld"));
}
文字常量區(不允許修改)
#include<stdio.h> #include<string.h> int main() { //1.字串常量就是此字串的首地址元素 printf("s1 = %p\n", "hello mike"); char* p5; p5 = "helllo world"; char* p2; printf("p2 = %p\n", "hello world"); //2.字串常量,文字常量區的字串只讀,不能修改 printf("p1 = %c\n", *p2); //3.p1指向字串常量,字串常量為只讀 //*p1 = 'a';修改,error /* char* p3 = "hello"; strcpy(p3, "abc"); p3指向文字常量區,不可以修改 */ //1.p指標儲存了"hello"的地址,指標所指向的記憶體不可以修改 char* p = "hello"; //2.把"hello"一個一個字元的放在buf陣列中,陣列的元素是可以修改的 char buf[] = "hello"; char* q[] = { "hello", "abc", "mike" }; int n = sizeof(q) / sizeof(*q); for (int i = 0; i < n; i++) { printf("%s\n", p[i]); } }