关于数组的一些小的知识点
数组:用来保存大量同类型的数据,数组大小定义好后不可以改变。
- 永远清楚每个数组有多大
- 永远让数组下标不越界
数组的大小必须是常量表达式,其值必须为正,不可以为变量,最好使用宏或枚举来定义,
#define SIZE 10
int a[SIZE];
enum {SIZE = 10};
int a[SIZE];
数组初始化
char a[] = "hello";
int b[5] = {1, 2, 3};
int c[5] = {1,2,};
int d[] = {1,2,3};
int e[5] = {[2] = 3}; //c99
size1 = sizeof(a);
数组转化为指针
- 数组类型做右值
- 数组名做参数
- 在strlen中
数组指针和指针数组
- 数组指针:指向数组的指针 eg: char (*p)[10];//本质是指针,小括号的优先级大于中括号
- 指针数组:存放指针的数组 eg: char *p[10];//本质是数组
数组的拷贝:
两个数组之间不可以直接赋值,需要逐个赋值,或者写循环函数赋值
身体是1,财富·名利·是0,没有1有再多的0都没有用!!