2. 字符串变量
2.1 C语言使用字符数组保存字符串变量,最后以一个空字符’\0’结尾,注意:空字符’\0’和字符’0’的区别,空字符的ASCII值为0.
2.2 假设字符串中要保存10个字符,那么我们应该设置字符数组的长度为11,因为,最后一个表示字符串的结束。
#define STR_LEN 10 char str[STR_LEN+1];
2.3 字符串变量的初始化
#include <stdio.h>
int test2(){
// 定义字符串长度
#define STR_LEN 3
// 实际数组长度比字符串长度大1
char str[STR_LEN+1] = "abc";
// 验证最后一个是空字符,ASCII是0
for(int i=0;i<STR_LEN+1;i++){
printf("str[%d]=%d\n",i,str[i]);
}
// 编译器实际存储为字符数组
char str1[STR_LEN+1] = {'a','b','c','\0'};
printf(str1);
}
// 测试初始化
int test3(){
#define STR_LEN 3
char str[STR_LEN+1] = "abc";
// 因为数组的长度不能保存字符串结束符\0,所有str1不能当做字符串使用
char str1[3] = "abc";
// 如果省略数组长度,编译器会自动计算长度
char str3[] = "hello world!\n";
printf(str3);
}
int main(void){
// test2();
test3();
}
该博客教程视频地址:http://geek99.com/node/1009