数组和指针的区别
1个回答
展开全部
数组,相当于一栋大楼,里面有许多房间,房间号码,0,1,2,3....,每个房间里可以存放一个数据。
指针,相当于一栋大楼的地址,例如,某某路几号,至于这栋大楼里面房间是否已建好,或有多少房间,并不知晓。
例如:
int *x; // x 是指针,用来指向一个int 型存放区 的地址。没有存放数据的房间。
若想有存放数据的房间,则要 修建,例如
x = (int *) malloc(10*sizeof(int)); 于是,有了10个房间,可存放int 型 数据。
这时,等于 声 明 了 int x[10];
int y[10]; // 直接 声 明 y 是数组, 有10个房间,可存放10个 int 型 数据。
y 数组 首地址是 &y[0]
指针,相当于一栋大楼的地址,例如,某某路几号,至于这栋大楼里面房间是否已建好,或有多少房间,并不知晓。
例如:
int *x; // x 是指针,用来指向一个int 型存放区 的地址。没有存放数据的房间。
若想有存放数据的房间,则要 修建,例如
x = (int *) malloc(10*sizeof(int)); 于是,有了10个房间,可存放int 型 数据。
这时,等于 声 明 了 int x[10];
int y[10]; // 直接 声 明 y 是数组, 有10个房间,可存放10个 int 型 数据。
y 数组 首地址是 &y[0]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询