您的位置:首页 > 其它

指针和数组——(个人笔记)

2014-07-30 11:20 176 查看
<pre name="code" class="cpp">#include <stdio.h>
int main(void)
{
int a[4][5] ;
char *p = NULL;
p = a;
printf("p:%p\n",p);
printf("p:%p\n",p+1);
printf("a:%x\n",&a);
printf("a+1:%x\n",&a+1);
printf("a[0]+1:%x\n",&a[0]+1);
printf("a[0][0]+1:%x\n",&a[0][0]+1);
return 0;
}



**a == a[0][0];

*a == a[0];//一行

&a+1相当于加上二维数组a[][]长度

&a[0]+1相当于加上一行数组的长度//&a[1]

&a[0][0]+1加上一个元素长度//&a[0][1]

a+1  加上一行数组长度//&a[1]

a[0]+1加上元素长度//&a[0][1]

a[0][0]+1元素+1

总结:指针+1指向下一个元素,即加上元素类型的长度

            数组名称+1则是加上数组类型的长度

            数组名是常量不能使用++a来访问下一元素或数组,可以使用a+1来访问

   数组可以int a[][5];但是不能int a[5][];int[][]

(笔记容易丢,写在这,自己看的,有点乱)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: