c语言字符串写法
C语言中字符串是一种非常广泛使用的数据类型,其表示方式有多种,且每种方式都有其自身的特点和用法。
一、字符串表示方法
1. 字符数组表示
C语言中字符串实际上就是一个char类型的字符数组,以'\0'结尾。因此,我们可以通过一个字符数组来表示一个字符串。
例如:
```
char str[] = "Hello world!";
```
这里,str是一个字符数组,默认大小为13,它的值是"Hello world!\0"。需要注意的是,在数组定义的时候必须要分配一个末尾的'\0',否则会导致一些错误。
另外,我们也可以通过下标的方式来访问数组中的每个元素,从而得到要表示的字符串中的每个字符。例如:
```
for (int i = 0; str[i] != '\0'; i++) {
printf("%c", str[i]);
}
```
2. 指针表示
C语言中我们也可以通过指针来表示字符串。例如:
```
char *str = "Hello world!";
```
这里,我们没有定义char类型的数组,而是定义了一个char类型的指针,该指针指向一个字符串字面量,它的值为"Hello world!\0"的存储地址。
需要注意的是,在使用指针表示字符串时,我们可以通过指针的移动来访问字符串中的每个字符。例如:
```
char *p = str;
while (*p != '\0') {
printf("%c", *p);
p++;
}
```
二、字符串操作函数
C语言库中提供了一系列的字符串操作函数,用来处理字符串。常用的函数包括:
1. strlen函数:用来计算字符串的长度,不包括结尾的'\0'。
2. strcat函数:用来将一个字符串连接到另一个字符串的末尾。
3. strcpy函数:用来将一个字符串复制到另一个字符串中。
4. strcmp函数:用来比较两个字符串是否相等。
5. strstr函数:用来在一个字符串中搜索另一个字符串出现的位置。
其中,以上函数都是操作以字符数组为基础的字符串类型。
三、字符串输入输出
C语言中涉及到字符串的输入输出时,要注意以下几点:
1. 使用%s格式化符来输入字符串,使用printf函数输出字符串时,只需要在字符串前加上%s即可。
例如:
```
char str[20];
scanf("%s", str);
printf("%s", str);
```
2. 如果要输入带有空格的字符串,可以使用fgets函数。
例如:
```
char str[20];
fgets(str, 20, stdin);
printf("%s", str);
```