1、什么是字符串
2、字符串与普通字符数组的区别
3、字符串的定义方式
4、字符串的使用
5、什么是字符串数组
6、字符串数组的赋值
7、字符串数组的遍历
1、什么是字符串
• 用双引号引起来的多个字符,以‘ ’结尾
–"I am a string. ”
–"a string""other string" ==> "a string other string";–"a string
string" ==> "a string string"
2、字符串与普通字符数组的区别
• 字符数组
–是字符类型的数组
–每个数组元素保存一个字符
• 字符串
–是字符指针变量
–指向字符串中第一个字符的地址
3、字符串的定义方式
• 字面值 "Hello”
printf("Hello");
• 使用字符数组来定义数组
char str[10]={'H','e','l','l','o',' '};
• 使用字符指针
char* str2 = str;
4、字符串的使用
• 声明的变量,放在内存中的栈区。
• 字面值方式创建的字符串,放在内存中的代码区,如果创建的是字符串,并且值是相同的,只会创建一个内 存区域,其值是只读的,值不可以改变。
• 使用数组方式创建的字符串,放在内存中的栈区,可以 创建多个相同的字符串,其值可以改变。
• 字符指针,只是指向了内存的一个区域。
5、什么是字符串数组
• 指针数组(字符串数组)
• 数组中的元素是指针->指针又是字符串->字符串数组
• 保存多个字符串地址
6、字符串数组的赋值
int main() {
//字符串数组
char* strs[5] = {"aaa", "bbb", "ccc", "ddd", "eee"};printf("sizeof(strs[0]=%ld ",sizeof(strs[0]));
strs[0] = "AAA";
return 0;
}
7、字符串数组的遍历
int main() {
//字符串数组
char* strs[5] = {"aaa", "bbb", "ccc", "ddd", "eee"};for (int i=0; i<5; i++) {
printf("%s ", strs[i]);
}return 0;
}