字符串常量与 字符指针,字符数组

1. 字符串的定义
(1) char buf[10] = "hello"; //定义了10个字节的数组,但只用了6个字节存放字符串
(2) char *str = "hello"; //此处hello是字符串常量,存储在长常量区,把首地址传给指针变量 sts
(3) char *s = "hello"; // 指针s 与 指针str的内容都是指向字符串常量“hello” 其值相等;
(4) char buff[] = "hello"; //定义了一个数组没有规定大小,但字符串常量用了6个字节存放字符串(包含\0),数组大小为6个字节
第二、三种方式,只允许访问,不允许通过指针形式修改字符串中的内容,如:*(str+1) = E; 是不被允许的,字符串存在常量区;
通过buf和buff是可以修改字符串指向的内容,buf[1] = H;buff[1]=G;是可以的,且buf和buff是指向两个不同的地址

猜你喜欢

转载自www.cnblogs.com/electronic/p/10848331.html
今日推荐