字符指针的使用:
#includeint main() { char ch = 'w'; char *pc = &ch; *pc = 'w'; const char* p = "abcdef";//把常量字符串首字符a的地址放到指针变量p中 printf("%sn", p);//abcdef return 0; }
#includeint main() { const char* p1 = "abcdef"; const char* p2 = "abcdef"; char arr1[] = "abcdef"; char arr2[] = "abcdef"; if (p1 == p2) printf("p1==p2n"); else printf("p1!=p2n"); if (arr1 == arr2) printf("arr1 == arr2n"); else printf("arr1 != arr2n"); return 0; } //p1==p2 //arr1 != arr2
这里p1和p2指向的是一个同一个常量字符串。C/C++会把常量字符串存储到单独的一个内存区域,当几个指针指向同一个字符串的时候,他们实际会指向同一块内存。但是用相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块。所以p1==p2,arr1 != arr2。
暑期编程PK赛 得CSDN机械键盘等精美礼品!


