请区分int *p(int); int (*p)(int); int *(*p)(int); 三条语句的含义。
举一反三
- 下列定义语句的含义是: int* (*p)(int *a, int *b);
- 申请一个具有n个int型元素的一维动态数组,可以使用语句()。 A: int *p;p=(int *)malloc(n,sizeof(int)); B: int *p;p=(int *)malloc(n*sizeof(int)); C: int *p;p=(int *)realloc(n*sizeof(int)); D: int p[n];
- 申请一个m×n二维int型动态数组,可以使用语句()。 A: int *p;p=(int *)calloc(m*n*sizeof(int)); B: int p[m][n]; C: int *p;p=(int *)calloc(m*n,sizeof(int)); D: int *p;p=(int *)malloc(m*n,sizeof(int));
- 假定变量a定义为“int a=7;”,则下面定义p的语句哪个是正确的? A: int *p=&a; B: int p=a; C: int p=&a; D: int &p=*a; E: int *p=a;
- 下列定义函数指针变量正确的是( )。 A: int *(p)(int a,int b); B: int (*p)(int a,int b); C: int *p(int a,int b); D: int p(int a,int b);