#include<stdio.h>
void main()
{
//指针形式
char* p = "linux";
printf("sizeof(*p)=%d\n",sizeof(*p)); //*p为char类型,占一个字节大小
//*(p + 0) = 'f'; //错误,不能修改,字符串存在代码区
printf(" %c", *(p+0));
printf(" %c", *(p + 1));
printf(" %c", *(p + 2));
printf(" %c", *(p + 3));
printf(" %c\n", *(p + 4));
//数组形式
char str[] = "linux";
printf("sizeof(str)=%d\n",sizeof(str)); //linux占5个,最后一个\0
printf("%s\n",str);
str[0] = 'f'; //存在栈上,可以修改
printf("%s", str);
}
运行结果:
sizeof(*p)=1
l i n u x
sizeof(str)=6
linux
finux