课程:字符串和字符串数组
在C中,字符串用字符数组进行存储,在字符串的最后一个字符之后,还有 一个‘\0’,用于表示该字符串结束,\0的ASCII码表示 0
在C中,是没有string类的,只有char array[] 用于存储字符串。
char a[8]="OC"; //表示一个字符串数组,常用的初始化方法
char a[8]={'o','c','\0'}; //表示一个字符串数组
char a[8]={'o','c',0}; //也表示一个字符串数组,因为0=‘\0’
char a[]={'o','c',}; //不是字符串数组,只是字符数组,因为初始化定义该数组只有2个元素,字符串结束标识符‘\0’没有存放空间
char a[ ]={'o','c',0}; //也表示一个字符串数组,因为有字符串结束标识
”%s”用于接收一个字符串,从接收到的字符串所在的变量地址开始输出,一直到检测到结束标识符‘\0’之后,才停止输出
strlen函数:用于计算字符串长度。存在与<string.h>文件中。长度并不包括结束符\0,计算的是显示在屏幕上的字符串长度,长度即有多少个字符数,特别的是一个汉字占3个字符(在C中???),一个字符占一个字节。
sizeof则用于计算所占字节数,包括\0所占的字节。
strlen("hahaha") //输出6
sizeof("hahaha") //输出7
strlen("haha\0ha") //输出4,遇到首个结束标识符则认为字符串结束了
sizeof("haha\0ha") //输出???????/
sizeof 是一个运算操作符,而strlen是一个函数。
在实际开发中,是否会经常使用到一些“炫技”的程序写法(可读性较差),是否代码越短越好???
在C中,只有字符数组会自动添加'\0'结束标识符,其他数组并没有这个结束标识符,因此对于其他数组是否结束要严格控制。