204 字
1 分钟
【C】数组与字符串
一维数组
类型 数组名[元素个数];元素个数须为大于 0 的整型常量表达式(C99 前);VLA 见 12-void与特殊数组类型- 下标从 0 开始,有效范围
0 ~ 长度-1
初始化
int a[3];a[0] = 1; a[1] = 2; a[2] = 3; // 逐个赋值
int b[3] = {0, 1, 2}; // 完全初始化int c[5] = {0, 1, 2}; // 其余元素为 0int d[] = {0, 1, 2, 3}; // 长度由初值个数推断未初始化元素的自动数组元素值不确定;静态/全局数组未初始化部分为 0。
字符与字符串
字符数组
char chs[] = {'a', 'b', 'c'}; // 无自动 '\0'字符串字面量
char str[] = "abc"; // 等价于 {'a','b','c','\0'}char *p = "abc"; // p 指向只读字符串,勿修改 *p- C 中字符串是以
'\0'(NUL)结尾的char序列 "abc"长度为 4 字节(含结尾符)- 不要写
char c = "abc";(类型错误)
常用字符串函数
头文件 #include <string.h>:strlen、strcpy、strncpy、strcmp、strcat 等。使用 strcpy 等须保证目标缓冲区足够大。
数组与 sizeof
int a[10];sizeof(a); // 整个数组字节数,如 40sizeof(a[0]); // 单个元素表达式中的数组名在多数情况下退化为指向首元素的指针,但 sizeof(数组名) 仍是整个数组大小。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时
相关文章 智能推荐
