赞
踩
1.首先我们先谈一谈数组的本质:
数组是多个元素的集合,并且在内存中分布在连续的地址单元中。
其任意一个元素的存储时间是相等的-----即随机存储结构
个人理解:数组就是连续的一排房子,每一个房子都有地址,和房子里面存储的东西,然后
我们只要知道第一个房子的位置,就可以知道其余房子的在哪里,所以在数组a[], a就是
代表第一个房子的位子,而a[0]前面在加上&---即&a[0] 也是指数组的首地址。
int a[5],*p;
p = a;
p = &a[0];
指向同一个地址
2.谈一谈指针:
指针也是一种变量,它是用来保存其他内存单元的地址,它自己也有自己的地址;
指针也有变量的两种属性:1.存储内容,2.自己的位置。
3.int *,int **的作用
int *是用来存一般变量的地址,而int **是用来存int *变量的地址;
4.int a[], int *a[]作用
int a[] 就是从知道第一个地址开始建立一般变量
int *a[]就是从知道第一个地址开始建立指针变量
5.还要知道【】的优先级高于*,所以a先和【】结合,然后它就变成数组了,接着与 * 结合,变成指针。所以说 int *a[] 是一次性定义多个指针;
6.总的来说一下
int *a; ---定义一个指向整型变量的指针a
int **a; ---定义一个指向整型变量指针的指针a
int a[]; ---定义一个整型变量数组a
int *a[]; ---定义一个指向整型变量指针的数组a
第一次写一些东西,没有什么头绪,只是把自己所想的写出来,以后再接再厉。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。