要使语句p=new double[20];能够正常执行,变量p应定义为[ ].C哪儿错了?要使语句p=new double[20];能够正常执行,变量p应定义为[ ].A) double p[20]; B) double p; C) double (*p)[20]; D) double *p;

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 07:51:48
要使语句p=new double[20];能够正常执行,变量p应定义为[ ].C哪儿错了?要使语句p=new double[20];能够正常执行,变量p应定义为[ ].A) double p[20]; B) double p; C) double (*p)[20]; D) double *p;

要使语句p=new double[20];能够正常执行,变量p应定义为[ ].C哪儿错了?要使语句p=new double[20];能够正常执行,变量p应定义为[ ].A) double p[20]; B) double p; C) double (*p)[20]; D) double *p;
要使语句p=new double[20];能够正常执行,变量p应定义为[ ].C哪儿错了?
要使语句p=new double[20];能够正常执行,变量p应定义为[ ].
A) double p[20]; B) double p;
C) double (*p)[20]; D) double *p;

要使语句p=new double[20];能够正常执行,变量p应定义为[ ].C哪儿错了?要使语句p=new double[20];能够正常执行,变量p应定义为[ ].A) double p[20]; B) double p; C) double (*p)[20]; D) double *p;
D 是正确答案,不用说什么的吧.
至于C,的解释请看下面的:
数组指针(也称行指针)
定义 int (*p)[n];
()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p+1时,p要跨过n个整型数据的长度.
如要将二维数组赋给一指针,应这样赋值:
int a[3][4];
int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组.
p=a; //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0]
p++; //该语句执行过后,也就是p=p+1;p跨过行a[0][]指向了行a[1][]
所以数组指针也称指向一维数组的指针,亦称行指针.