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

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是指向两个不同的地址

 

posted on 2019-05-11 13:03  管理员D  阅读(322)  评论(0编辑  收藏  举报

导航