字符指针
char* ps = "hello bit" ;
//本质上是把"hello bit"这个字符串的首字符的地址存储在了ps中,跟字符数组不一样
printf ("%c\n", *ps) ; //结果是字符h
用字符指针指向的字符串是常量字符串,是不能改的,如*ps = 'w’是不可以的
char arr[] = "hello bit" ; //是真的把该字符串存到一个数组中
//只不过两者的访问形式都一样,都可打印“hello bit”
printf("%s\n", ps);
printf ("%s\n", arr);
char str1[]= "hello bit. " ;char str2[]= "hello bit. " ;
char* str3 = "hello bit. " ;char* str4 = "hello bit.";
//结果是:str1 != str2,str3 == str4;
因为str1和str分别是两个不同的字符数组,数组内容都是"hello bit.",但str1指向的地址和str2指向的地址不一样;而str3和str4指向的都是常量字符串,因为不能改,所以内存中只有一份,str3和str4同时指向常量字符串的首地址