1.字符串和\0
c语言中有字符类型,但没有字符串类型,c语言中字符串就是由双引号引起来的一串字符,比如:"abcdef"
字符串常量在末尾隐藏了一个'\0'的转义字符,'\0'是作为字符串的结束标志存在的
库函数printf与strlen遇到'\0'自动停止
2.字符数组的创建与初始化
字符数组就是一个存放字符的数组
创建方式:
c
//创建字符数组并初始化
char data[5] = {'a','b','c','d','e'}
这里data是一个字符数组,可以存放5个字符
可以用下标访问字符数组,如:
c
#include<stdio.h>
int main()
{
char aiee[5] = { 'a','i','e','e','i' };
int sz = sizeof(aiee) / sizeof(aiee[0]);
int i = 0;
for (i = 0; i < sz; i++)
printf("%c", aiee[i]);
return 0;
}
3.字符串常量初始化字符数组
字符数组的初始化,也可以使用常量字符串,如:
c
//指定数组大小
1. char data1[10]
//通过初始化内容来确定数组元素个数
2. char data[] = "abcdef";
当用常量字符串初始化数组时,数组中存放了能看到的字符和一个'\0'字符。
c
#include<stdio.h>
int main()
{
char aiee[5] = { 'a','i','e','e','i' };
char arr[10] = "abcdef";
return 0;
}
4.'\0'作为字符串结束的标志
对字符串数组进行打印等操作时,'\0'
是停止的标志
读不到'\0'
不结束
5.字符数组的输入与输出
c
#include<stdio.h>
int main()
{
char arr[10] = {0};
scanf("%s", arr);
printf("%s", arr);
return 0;
}
数组的名称--->数组中的一个数据的地址
6.求字符串的长度
在c语言中有一个库函数strlen
,它是专门用户来求字符串长度的,调用它需要包含头文件<string.h>
strlen
(返回整型,size_tl类型)
strlen
函数统计的是字符串中\0
之前的字符的个数,所以传递给strlen
函数的字符传中必须包含\0
c
#include<stdio.h>
#include<string.h>
int main()
{
char str[10] = "abcdef";
printf("%zd",strlen(str));
return 0;
}