个人理解,当笔记看的,如有不正确的地方,十分欢迎指正!!!!
例:int a[5]={1,2,3,4,5};
a 理解为指针,[]索引有取地址*的作用,,,a[2]==*(a+2);
&a代表一整个数组,&a+1表示首地址加上整个地址的值;
二维数组
int a[3][4]={{1,2,3,4},{5,6,7,8,},{9,10,11,12}};
a代表一列数组{1,2,3,4}的地址;
&a代表整个二维数组;
*a表示第一列数组的第一个值的地址;
** a表示第一列数组的第一个值;
字符指针数组
char *lines[5]=
{
"asdfghjj",
"bbbfggf",
"ccccasdas",
"dasddddd",
"eeeeegfg"
};
lines 表示一整个指针数组;
lines+1表示lines[1]指针的地址,而不是他的值,*(lines+1)==lines【1】;;