C语言字符数组的两种形式与区别
2014-02-21 20:40
253 查看
先看一下的一段代码:
数组c1是字符数组,大小是9字节,不包括字符串结束标志'\0',故printf("%s\n",c1);执行结果有点莫名其妙,实际是找不到字符串结束标志所致!
c2是用常量字符串来初始化字符数组,c3是c2的简写形式,他们都包含字符串结束标志'\0'.
#include<stdio.h> int main(void) { char c1[]={'c',' ','p','r','o','g','r','a','m'}; char c2[]={"C program"}; char c3[]="c program"; printf("c1=%d,c2=%d,c3=%d,char=%d\n",sizeof(c1),sizeof(c2),sizeof(c3),sizeof(char)); printf("%s\n",c1); printf("%s\n",c2); printf("%s\n",c3); return 0; }
数组c1是字符数组,大小是9字节,不包括字符串结束标志'\0',故printf("%s\n",c1);执行结果有点莫名其妙,实际是找不到字符串结束标志所致!
c2是用常量字符串来初始化字符数组,c3是c2的简写形式,他们都包含字符串结束标志'\0'.
相关文章推荐
- C语言中空格,空字符,字符数组结束符的区别
- c语言中字符数组和字符指针的区别
- C语言字符串指针与字符数组的区别
- c语言中字符指针与字符数组的区别
- 详解C语言中Char型指针数组与字符数组的区别
- C语言中关于字符数组与字符指针的本质区别
- C语言和Java字符串与字符数组区别
- C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别
- C语言中字符串和字符数组的区别
- C语言中的字符指针与字符数组的一点区别
- C语言中空格,空字符,字符数组结束符的区别
- C语言中空格,空字符,字符数组结束符,NULL,空字符串的区别
- C指针与数组两种形式的区别
- C语言 字符指针和字符数组的区别
- C语言字符串指针变量与字符数组的区别
- C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别
- c语言指针字符串与字符数组字符串的区别
- c语言中字符数组和字符指针的区别:(一句话,一旦要修改就用字符数组)
- C语言中字符数组和指向字符数组的指针的区别
- C语言字符指针和字符数组的区别