一.二维数组
格式:int a[x][y]:代表定义有x行y列的矩阵,也可以是y行x列的矩阵,为了符合线性代数,一般我们认为是第一种情况。
二.数组运用:
eg:数组作为函数中的参数时,往往必须再用另一个参数来传入数组的大小
三.Sizeof:
一种运算符,单目的。实际上是获取了数据在内存中所占用的存储空间,以字节为单位来计数
(1).用于数据类型:格式:sizeof(type);
(2)用于变量:格式:sizeof(name);
eg:sizeof操作符不能用于函数!!!
(3)其结果:整型一般是4个字节,单精度也是4个,双精度浮点数是8个,字符型一般是1个
四.指针
&是用来获得变量的地址,他的操作数必须是变量。地址的大小是否与int有关取决于编译器
int i; printf("%p",&i);
*是一个单目运算符,用来访问指针变量所表示地址的那个变量的值,它可以做右值也可以做左值。
int k=*p; *p=k+1
Tips:函数中的数组就是指针即:
int *a 与 int a[]等价
数组变量是特殊的指针,它的本身表达地址所以
int a[10]; int*p=a // 无需用&取地址
但是数组的单元表达的是变量,需要用&取地址
a == &a[0]
[]运算符可以对数组做也可以对指针做
p[0] <==> a[0]
*运算符可以对指针做,也可以对数组做
*a =25;
数组变量是const的指针,所以不能被赋值
int a[] <==> int *const a=..