若指针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已正确定义,要使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已正确定义,要使p指向两个连续的整型动态存储单元,则正确的语句是()。A.p=2*(int*)malloc ”相关问题
  • 第1题:

    设有如下定义: struct sk { int a;float b; } data; int *p; 若要使p指向data中的a域,正确的赋值语句是( )。

    A.p=&a;

    B.p=data.a;

    C.p=&data.a;

    D.p=a;


    正确答案:C
    解析:要注意不能将结构体变量作为一个整体进行输入和输出,只能对结构体变量中的各个成员进行输入和输出。引用结构体变量中成员的方式有以下几种:结构体变量名.成员名;指针变量名->成员名;(*指针变量名).成员名。

  • 第2题:

    若已有定义int x;下列说明指针变量p指向x的正确语句是( )

    A. int p=&x;

    B. int *p=&x;

    C. int p=x;

    D. int *p=x;


    正确答案:B

  • 第3题:

    若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元 int *p p=______malloc(sizeof(int)); 则应填入______。

    A.int

    B.int*

    C.(*int)

    D.(int*)


    正确答案:D
    解析:不论p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之类型一致,强制类型转换的格式为(数据类型*)。

  • 第4题:

    若要用下面的程序片段指针变量p指向一个存储整型变量的动态存储单元int *p;p=______ malloc (sizeof (int));则应填入 ______。

    A.int

    B.int*

    C.(*int)

    D.(int*)


    正确答案:D
    解析:不论p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之类型一致,强制类型转换的格式为(数据类型*)。

  • 第5题:

    若指针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));


    正确答案:C

  • 第6题:

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。A.p=a; B.p[0]=a;

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。

    A.p=a;

    B.p[0]=a;

    C.p[o]=&a[1][2];

    D.p[1]=&a;


    正确答案:B
    选项B表示把整型数组a[o]的指针赋给p[0]。

  • 第7题:

    若要用下面的程序片段使指针变量p指向—个存储整型变量的动态存储单元 int *p; p=______malloc(sizeof(int)); 则应填入______。

    A.int

    B.int*

    C.(*int)

    D.(int*)


    正确答案:D
    解析:不论p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之为在型一致,强制类型转换的格式为(数据类型*)。

  • 第8题:

    设x为整型变量,p是指向整型的指针变量,则下列赋值表达式正确的是( )。

    A.p=&x

    B.p=x

    C.*p=&x

    D.*p=*x


    正确答案:A

  • 第9题:

    已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为()。

    Afree(p);

    Bfree p;

    Cfree(*p);

    Dfree[p];


    A

  • 第10题:

    下列语句定义整型指针p1、p2,()是正确的。

    • A、intp1,p2;
    • B、int*p1,*p2;
    • C、int*p1,p2;
    • D、int**p1,p2;

    正确答案:B

  • 第11题:

    单选题
    已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为()。
    A

    free(p);

    B

    free p;

    C

    free(*p);

    D

    free[p];


    正确答案: D
    解析: 暂无解析

  • 第12题:

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

    free(p)

    B

    delete(p)

    C

    free(*p)

    D

    free(&p)


    正确答案: B
    解析: 暂无解析

  • 第13题:

    若指针ps已正确定义,要使ps指向能够存储8个字符的动态存储单元,以下不正确的语句是( )

    A.ps=(char*)malloc(8);

    B.ps=(char *)malloc(sizeof(char)* 8);

    C.ps=(char*)calloc(8,sizeof(char))

    D.ps=8*(char*)malloc(sizeof(char))


    正确答案:D

  • 第14题:

    若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。

    ①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【 】。

    ②若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是【 】。


    正确答案:s=p+3; 2
    s=p+3; 2 解析:若p指向了a[1],则p+3将指向其后的第3个元素a[4],把它赋值给s,s就指向了a[4],所以第1空填“s=p+3;”。由于s指向了a[2],p指向了a[0],s和p为指向同一个数组元素的指针变量,它们的差为它们指向元素的下标差值(即间隔多少个元素),所以“s-p”的结果为2。

  • 第15题:

    说明语句int*(*p)();的含义是______。

    A.p是一个指向int型数组的指针

    B.p是指针变量,它构成了指针数组

    C.p是一个指向函数的指针,该函数的返回值是一个整型

    D.p是一个指向函数的指针,该函数的返回值是一个指向整型的指针


    正确答案:D

  • 第16题:

    已有定义:int *p;,请写出完整的语句,利用malloc函数使p指向一个整型的动态存储单元


    正确答案:p =(int *)malloc(sizeof(int));
    本题主要考查动态存储分配函数。动态内存分配就是指在程序执行过程中,动态分配或者回收存储空间分配内存的方法。动态内存分配相对于静态内存分配而言不需要预先分配存储空间;分配空间可根据程序的需要扩大或缩小。在C语言中,用于动态存储分配的函数只有malloc函数与calloc函数。
    其中,malloc函数的调用格式为:(类型说明符*)malloc(sizeof(类型说明符)),例如,pi =(int *)malloc(sizeof(int));而函数calloc与malloc函数的区别仅在于一次可以分配的块区域,malloc一次只能分配一块,而calloc一次可以分配多块。
    本题要求用malloc函数使p指向一个整型的动态存储单元,那么相应的语句应该为:p =(int *)malloc(sizeof(int));。

  • 第17题:

    若有以下说明和定义: typedef int *INTEGER; INTEGER p,*q; 以下叙述正确的是( )。

    A.p是整型变量

    B.p是基类型为整型的指针变量

    C.q是基类型为整型的指针变量

    D.程序中可用INTEGER代替int类型名


    正确答案:B
    解析:本题中INTEGER被定义为int*的别名,故直接由它定义的类型基类型为整型的指针变量。因此,p是基类型为int的指针变量,q是int型指针的指针变量。故4个选项中B正确。

  • 第18题:

    若有如下定义: int (*p)(), *q(); 则下列说法正确的是( )

    A.p是一个函数名,q是一个指针变量

    B.p是一个指向整型变量的指针变量,q是一个指向一维数组的指针变量

    C.p和q是等价的,都是指针变量

    D.p是指向函数的指针变量,函数的返回值是整型数据;q是带回指针值的函数


    正确答案:D

  • 第19题:

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

    A.int

    B.int*

    C.(*int)

    D.(int*)


    正确答案:D

  • 第20题:

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

    Afree(p)

    Bdelete(p)

    Cfree(*p)

    Dfree(&p)


    A

  • 第21题:

    若使P指向包含30个整型元素的动态数组空间,则使用的定义语句为()。

    • A、int*p=newint[30]
    • B、int*p=newint(30)
    • C、int*p=new[30]
    • D、*p=newint[30]

    正确答案:A

  • 第22题:

    若指针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))。

    正确答案:A

  • 第23题:

    单选题
    若指针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))。


    正确答案: D
    解析: 暂无解析