更多“若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元int *p;p=______malloc(siz ”相关问题
  • 第1题:

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

    A.int

    B.int*

    C.(*int)

    D.(int*)


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

  • 第2题:

    若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的动态存储分配语句是()。

    A.p=2*(int*)malloc(sizeof(int));

    B.p=(int*)malloc(2*sizeof(int));

    C.p=(int*)malloc(2*sizeof(unsigned int));

    D.p=(int*)calloc(2,sizeof(int));


    A 解析:本题考核的知识点是manoc()函数的应用。该函数的调用格式是“malloc(n)”,作用是申请n个字符的存储单元并把该存储区的首地址作为返回值,实际调用的时候可在前面加上“(类型说明符*)”,以转换成需要的类型的地址。选项D多了一个参数,不符合malloc()函数的调用格式;整型变量在有的计算机系统里占4个字节,并不一定在所有的计算机系统里都是两个字节,所以选项C不正确;选项A中是申请一个整型的存储空间并把该存储空间的首地址乘以2,这样的做法是不正确的,其存储空间为没乘以2之前的存储空间的2倍的连续存储空间的地址,选项A不正确。所以,4个选项中B为所选。

  • 第3题:

    【单选题】若指针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*)malloc(2, sizeof(int));


    p=2*(int*)malloc(sizeof(int));

  • 第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*)malloc(2*sizeof(int));

    C.p= (int*)malloc(2*sizeof (unsigned int));

    D.p= (int* )malloc(2,sizeof(int));


    p=2*(int*)malloc(sizeof(int));