字符串:直接赋值字符串时,可用指针或者数组。结果是在最后自动加'\0'
char *p="i love";
char p[]="i love"
在这里,用printf格式化输出%s的时候,从首地址开始一直到找到'\0'结束。
字符串数组:
char p[]={'i',' ','l','o','v','e','\0'};
若p为某字符串指针
strlen与sizeof
strlen:字符串大小
sizeof:内存空间大小(字节)
strlen(p)=6
sizeof(p)=?,p为指针变量 存储为地址,在32位机,地址为4字节,故等于4。在64位机地址为8字节,故其值为8;
若p为数组名
sizeof(p)=数组成员数量,而不是地址大小。(数组名与指针的区别)