首页 > 试题广场 > 对下面变量声明描述正确的有()int *p[n];
[单选题]
对下面变量声明描述正确的有()
int *p[n];
int (*)p[n];
int *p();
int (*)p();
  • int *p[n];—–指针数组,每个元素均为指向整型数据的指针
  • int (*)p[n];—p为指向一维数组的指针,这个一维数组有n个整型数据
  • int *p();——函数带回指针,指针指向返回的值
  • int (*)p();—-p为指向函数的指针
先了解一下运算符的优先级:
()>[]>*
其次:
int p;//整形变量p
int *p;//整形指针p
int *p[];//整形指针数组p,运算符优先级,p[]数组,类型为int *类型   ------A
int (*p)[];//正确声明方式                                                                      ------B
int *p();// 返回一个整形指针的函数,我理解这个指针不是指向返回值 -----C
int (*p)();//函数指针正确声明方式,该函数的返回值为整型                ------D

发表于 2019-10-06 11:45:34 回复(0)
()>[]>*
A.int *p[n];—指针数组,每个元素均为指向整型数据的指针。
B.int (*p)[n];—p为指向一维数组的指针,这个一维数组有n个整型数据。
C.int *p();—指针函数,返回整型指针。
D.int (*p)();—p为指向函数的指针 。
而int (*)p();//亲测不行,既不是函数指针也不是指针函数,也就是说(*)这种行为是不对的。
编辑于 2019-10-06 16:32:49 回复(0)