如何用数组指针访问数组中的元素(C++)
来源:百度知道 编辑:UC知道 时间:2024/06/18 14:41:39
#include "iostream.h"
int main()
{
int array[10];
int (*ptr)[10];
//错误ptr[2]=array;
//错误*ptr=array;
*ptr[3]=*array;//正确的,但不知道为什么,这里的*ptr[3]是指向整型数组第三个元素的指针吗?
//这个也不对啊ptr=*array; 这里的*array是怎么指向的啊?
return 0;
}
对于数组指针,怎么用数组指针来访问数组中的元素?
*array的顺序是什么样的呢?
是 array-->*array-->数组元素
还是 *array-->array-->数组元素
还是别的什么,这里都学混了,请各位指教,谢谢
int main()
{
int array[10];
int (*ptr)[10];
//错误ptr[2]=array;
//错误*ptr=array;
*ptr[3]=*array;//正确的,但不知道为什么,这里的*ptr[3]是指向整型数组第三个元素的指针吗?
//这个也不对啊ptr=*array; 这里的*array是怎么指向的啊?
return 0;
}
对于数组指针,怎么用数组指针来访问数组中的元素?
*array的顺序是什么样的呢?
是 array-->*array-->数组元素
还是 *array-->array-->数组元素
还是别的什么,这里都学混了,请各位指教,谢谢
数组在内存中的存储数据就是从array[0]----->array[9]
不会存储什么array或者*array
array只是一个数组的名字,它不占据存储空间.但是它有值,它的值就是数组的首
地址值.
ptr[2]=array; ptr[2]为int 类型 array为指针 错
*ptr=array; 相当于ptr[0]=array 错误
*ptr[3]=*array; 相当于 array[3]=array[0]; 对.
访问:
for(i=0;i<10;i++)
{
printf("%d",*ptr++);
}
for(i=0;i<10;i++)
{
printf("%d",ptr[i]);
}
两个都可以