判断题数组的存储空间不一定在编译时进行分配。举个反例:int(*p)[6];p=(int(*)[6])malloc(sizeof(int[6])*1);*p是个int[6](而不是int*) ,sizeof(*p)是24而不是4 ,也就是说在堆上创建了一个int[6],但这个空间是在运行期分配的A对B错

判断题
数组的存储空间不一定在编译时进行分配。举个反例:int(*p)[6];p=(int(*)[6])malloc(sizeof(int[6])*1);*p是个int[6](而不是int*) ,sizeof(*p)是24而不是4 ,也就是说在堆上创建了一个int[6],但这个空间是在运行期分配的
A

B


参考解析

解析:

相关考题:

用calloc函数创建具有10个整型元素的一维数组的正确语句是()。 a. int *p=calloc(10,2);b. int *p=calloc(10);c. int *p=calloc(10,4);d. int *p=malloc(10)

以下程序的输出结果是 () include int a [3] [3]={1,2,3,4,5,6,7,8,9},*p; main() 以下程序的输出结果是 ( ) #include<stdlib.h> int a [3] [3]={1,2,3,4,5,6,7,8,9},*p; main( ) { p=(int *)malloc(sizeof(int)); f(p,a); printf("%d\n",*p); } f(int *s,intp[][3]) { *s=p[1][1]; }A.1B.4C.7D.5

以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是A.main( ) { int *p; fun(p); ┆ } int fun(int *p) { int s; p=s;}B.main( ) { int *p; fun(p); ┆ } int fun(int **p) { int s; *p=s;}C.#include<stdlib.h> main( ) { int *p; fun(p); ┆ } int fun(int **p) { *p=(int*)malloc(2);}D.#include<stdlib.h> main( ) { int *p; fun(p); ┆ } int fun(int *p) { p=(int*)malloc(sizeof(int));}

若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是A.p=2*(int*)malloc(sizeof(int));B.p=(int*)mall0c(2*sizeof(int));C.p=(int*)malloc(2*2);D.p=(int*)calloc(2,sizeof(int));

以下程序段中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是( )。A.main() {int*p; fun(p); … } int fun(int*p) {int s; p=s; }B.main {int*p fun(p); … } iht fun(int**p) {int s; *p=s;}C.main() {int*p; fun(p); } int fun(int**p) {*p=(int*)malloc(2);}D.main() {int*p; fun(p); } int fun(int*p) {p=(int*)malloc(sizeo(int));}

若指针p已正确定义,要使p指向两个连续的整型动态存储单元,则正确语句是( )A.p=2 *(int *)malloc(sizeof(int));B.p=(int*)calloc(2*sizeof(int));C.p=(int*)malloc(2* sizeof(int));D.p=2 *(int*)calloc(sizeof(int));

以下程序的输出结果是includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)ma 以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n",*p); free(p);} f(int *s, int p[][3]) { *s=p[1][1];}A.1B.4C.7D.5

以下程序的输出结果是includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)ma 以下程序的输出结果是 #include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main() { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d\n”,*p); free(p);} f(int *s,intp [][3]) { *s=p[1][1];}A.1B.4C.7D.5

若有定义“int b[8],*p=b;”,则p+6表示( )。A.数组元素b[6]的值B.数组元素b[6]的地址SX 若有定义“int b[8],*p=b;”,则p+6表示( )。A.数组元素b[6]的值B.数组元素b[6]的地址C.数组元素b[7]的地址D.数组元素b[o]的值加上6

以下程序输出正确的是 ______。amovep(int *P,int(*A) [3],int n) {int i,j; for(i=0;i<n;i++ for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int*)malloc(100); amovep(p,a,3); printf("%d%d\n",p[2],p[5]);free(p); }A.56B.25C.34D.程序错误

以下程序的输出结果是#includeint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main( ){ p=(int *)malloc(sized(int));f(p,a) ;printf("%d\n",*p);free(p);}f(int *s,int p[ ][3]){ *s=p[1][1];}A.1B.4C.7D.5

以下程序的输出结果是#includestdio.hint a[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){ p=(int*)malloc(sizeof(int));f(p,a);printf("%d\n",*p);free(p); }f(int *s, int p[][3]){ *s=p[1][1];}A.1B.4C.7D.5

以下程序输出正确的是______。 amovep(int *pint(*a) [3]int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int*)malloc (100); amovep(p,a,3); printf("%d%d\n",p[2]p[5];free(p); }A.56B.25C.34D.程序错误

数组int results[]=new int[6]所占存储空间是( )字节A.6B.12C.24D.48

以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是A.main() { int *p; fun(p); … } int fun(int *p) { ints; p=s;}B.main() { int *p; fun(p); … } int fun(int **p) { int s; *p=s;)C.#include main() { int *p; fun(p); … } int fun(int **p) *p=(int*)malloc(2);}D.#include main() { iht *p; fun(p); … } iht fun(iht *p) { p=(int*)malloc(sizeof(int)); }

动态分配一整型数据长度的空间,使指针p指向该存储空间,则下列空缺处应填入的正确语句是( )。 int*p; p=______malloc (sizeof(int));A.intB.int*C.(*int)D.(int*)

若指针p已正确定义,要使p指向两个连续的整型动态存储单元,则正确的语句是( )。A.p=2*(int*)malloc (sixeof(int))B.p=(int*)calloc (2*sixeof(int))C.p=(int*)malloc (2*sizeof(int))D.p=2*(int*)calloc (sizeof(int))

假定指针变量p定义为“int *p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为()。Afree(p)Bdelete(p)Cfree(*p)Dfree(p)

执行int *p=malloc(sizeof(int))操作得到的一个动态分配的整型对象为()。

指向数组元素为整型的一维数组的指针变量的定义是()。A、int*p()B、int(*p)()C、int*p[4]D、int(*p)[4]

下列程序的输出结果是()。  #include   FUN(int **b,int p[2][3])   {      **b=p[1][1];  } main( )  {   int a[2][3]={2,4,6,8,10,12},*p;     p=(int *)malloc(sizeof(int));      FUN(p,a);  printf(“%d/n”,*p);  }

若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()。A、p=2*(int*)malloc(sizeof(int));B、p=(int*)malloc(2*sizeof(int));C、p=(int*)malloc(2*2);D、p=(int*)calloc(2,sizeof(int))。

单选题有以下程序:#include #include void fun(int **s, int x[2][3]){ **s =*(x[1]+1);}void main(){ int a[2][3]={1,2,3,4,5,6},*p; p = (int *)malloc(sizeof(int)); fun(p,a); printf("%d",*p);}程序的运行结果是(  )。A5B2C6D3

填空题下列程序的输出结果是()。  #include   FUN(int **b,int p[2][3])   {      **b=p[1][1];  } main( )  {   int a[2][3]={2,4,6,8,10,12},*p;     p=(int *)malloc(sizeof(int));      FUN(p,a);  printf(“%d/n”,*p);  }

填空题执行int *p=malloc(sizeof(int))操作得到的一个动态分配的整型对象为()。

单选题若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()。Ap=2*(int*)malloc(sizeof(int));Bp=(int*)malloc(2*sizeof(int));Cp=(int*)malloc(2*2);Dp=(int*)calloc(2,sizeof(int))。

单选题假定指针变量p定义为“int *p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为()。Afree(p)Bdelete(p)Cfree(*p)Dfree(p)