1、数组
(1)、初始化数组
(2)、指定初始化器(C99)
(3)、给数组元素赋值
(4)、数组边界
(5)、指定数组的大小
2、多维数组
(1)、初始化二维数组
(2)、其他多维数组
3、指针数组
4、函数、数组和指针
(1)、使用指针形参
(2)、指针表示法和数组表示法
5、指针操作
6、保护数组中的数据
(1)、对形式参数使用const
(2)、const和其他内容
7、指针和多维数组
(1)、指向多维数组的指针
(2)、指针的兼容性
(3)、函数和多维数组
8、变长数组(VLA)
9、复合字面量
1、表示字符串和字符串I/O
(1)、在程序中定义字符串
(2)、指针和字符串
2、字符串输入
(1)、分配空间
(2)、不幸的gets()函数
(3)、gets()的替代品
(4)、scanf()函数
3、字符串输出
(1)、puts()函数
(2)、fputs()函数
(3)、printf()函数
4、自定义输入/输出函数
(1)、字符串函数
(2)、strlen()函数
(3)、strcat()函数
(4)、strncat()函数
(5)、strcmp()函数
(6)、strcpy()和strncpy()函数
(7)、sprintf()函数
5、其他字符串函数
6、ctype.h字符函数和字符串
7、命令行参数
8、把字符串转换为数字
1、存储类别
(1)、作用域
(2)、存储期
(3)、自动变量
(4)、寄存器变量
(5)、块作用域的静态变量
(6)、外部链接的静态变量
(7)、内部链接的静态变量
(8)、多文件
(9)、存储类别说明符
(10)、存储类别和函数
(11)、存储类别的选择
2、随机数函数和静态变量
3、掷骰子
4、分配内存:malloc()和free()
(1)、free()的重要性
(2)、calloc()函数
(3)、动态内存分配和变长数组
(4)、存储类别和动态内存分配
5、ANSI C类型限定符
(1)、const类型限定符
(2)、volatile类型限定符
(3)、restrict类型限定符
(4)、 _Atomic类型限定符(C11)
(5)、旧关键字的新位置