Char * dest = (char *) malloc (sizeof(char) *100);给dest指针分配空间的例子。
今天学习的是数组的知识,有一个数组,比如a[10];首先我们知道一个数组的数组名是一个指针常量,这个常量保存的是首个元素的地址。
&a:对数组名取地址等于数组的地址。
*(&a):对以为数组的地址取值等于一位数组首个元素的地址。
数组有一维有二维有三维,定义一个二维数组,可以省略行,但是不可以省略列,这个在定义的时候一定要注意。
一位数组的单位是元素,它的数组名是首个元素的地址,
二维数组的单位是一维数组,她的数组名是首个一维数组的地址,所以说三维数组的单位是二维数组,它的数组名是首个二维数组的地址,接下来就以此类推。
如果a是一个二维数组,那么有以下概念:
a是一维数组首元素的地址;aa是首个一维数组的地址;*aa是首个一维数组的首元素的地址;**aa首个一维数组的首元素的值;&aa是对二维数组名取地址等于二维数组的地址;*(&aa) = aa;对二维数组的地址取值等于首个一维数组的地址;**(&aa) = *aa;
数组名当形参的时候,编译器将它当成一维指针,传一维数组名是用元素的指针来接,传二维数组名是用一维数组的指针来接,
数组指针什么时候用? 函数传参的时候用。