在字符串的内部表示中,字符数组以控制符‘\0’结尾,程序可以通检查空字符找到字符数组的结尾,字符串常量占据的存储单元数也因此比双引号内的字符数大1。
printf(“hello,world\n”);
当类似于这样的一个字符串出现在程序中时,实际上是通过字符指针访问该字符串的。printf函数接受的是一个指向字符数组第一个字符的指针。也就是说,字符串常量可以通过一个指向其第一个元素的指针访问。
char pmessage;
pmessage = “now is the time”;
将把一个指向该字符数组的指针赋值给pmessage。该过程并没有进行字符串的赋值,而只是涉及到指针的操作。C语言并没有提供将整个字符串作为一个整体进行处理的运算符。
字符指针是一个地址,它存储一个存储字符串的地址、如果试图修改字符串的内容,结果是未定义的。
字符数组是一个数组,其存储的是一串包括空字符的连续字符。可以修改单个字符。
不知道对不对,我理解是这样。
最后一个非常简短的例子有一个问题是循环的终止条件。
while括号里是判断表达式,需要判断里面的值是否为非0。而赋值表达式也有值,值就是右侧的值,那么到t的结尾时会需要\0,那么会将0当做表达式的值,因此whlie检测到0,也就是判断式为假,因此跳出循环。
字符指针与函数
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...