字符串常量
第一种形式:字符串字面量(literal),字符串字面量是用一对双括号括起来的字符序列。如“hello world”
。字符串常量占据内存的字节数等于字符串中字符数目加1,多出来的是结尾字符'\0'。
第二种形式:以'\0'结尾的一维的char数组,就是一个字符串。
字符串变量
以两种形式分别初始化:
char data[] = “June 14”; // 字符串字面量的形式
char data[] = {‘J’, ‘u’, ’n’, ’e’, ‘ ’, ‘1’, ‘4’, ‘\0’}; // 数组的形式
字符串与数组的区别
我们看下面这个例子:
int nums[] = {0,0,1,1};
char str[] = "abc";
printf("%lu\n", sizeof(nums)); //16
printf("%lu\n", sizeof(str)); // 4
第一点不同是声明的不同,字符串一般使用字面量语法
第二点是字符串比看到的字符数量多一位
字符串与字符的区别
我们看下面的例子:
char a = 'a';
char aa[] = "a";
printf("%lu\n", sizeof(a)); // 1
printf("%lu\n", sizeof(aa)); // 2
第一点不同是声明的不同:字符串字面量用双括号" ",字符常量用单括号' '
第二点不同是“a”比'a'多一位,因为字符串字面量后面其实还自动添加了一个结束字符。
网友评论