1.字符串的概念
(1)字符串是有序字符的集合,是程序中的基本元素之一。
(2)C语言中没有字符串的概念,C语言中通过特殊的字符数组模拟字符串,且C语言中的字符串是以‘\0’结尾的字符数组。
2.字符数组与字符串
在C语言中,双引号引用的单个或多个字符是一种特殊的字面量,存储于程序的全局只读存储区,本质为字符数组,编译器自动在结尾加上’\0’字符。
下面哪些是字符串的定义?
第一个,没有\0结尾,只是一个字符数组,不是字符串。
第二个,有\0结尾,是字符数组,即是字符串。
第三个,双引号扩起来代表是字符数组,用一个字符串字面量去初始化一个字符数组,字符数组里面的元素就为hello world的每一个字符,并且编译器自动加上’\0‘结尾,即是字符串。
第四个,字符串字面量本质是字符数组,用一个字符指针去指向字符数组,是合法的,也是字符串。
编程实验
#include <stdio.h>
int main()
{
char ca[] = {
'H', 'e', 'l', 'l', 'o'};
char sa[] = {
'W', 'o', 'r', 'l', 'd', '\0'};
char ss[] = "Hello world!";
char* str = "Hello wor