有以下程序段 #include<stdio.h> #include<stdlib.h> #define Memory(X,num)malloc(num*sizeof(x)) void main() { int

admin2018-03-27  12

问题 有以下程序段
    #include<stdio.h>
    #include<stdlib.h>
    #define Memory(X,num)malloc(num*sizeof(x))
    void main()
    {
    int a=5;
    char c=10:
    float f=100.0:
    double d=50.0:
    int*pi=Memory(a,100);
    char*pc=Memory(c,100);
    float*pf=Memory(f,100);
    double*pd=Memory(d,100);
    }
    针对此程序段,以下说法正确的是(    )。

选项 A、系统动态分配的int型数组为500字节
B、系统动态分配的数组都是100个元素
C、系统动态分配的char型数组为1000字节
D、系统动态分配的float与double型数组均为400字节

答案B

解析 Memory(x,num)malloc(num * sizeof(x)),其中x为某种数据类型的变量,num为该数据类型元素的数量,并给其分配内存。a为int型,占4个字节int *pi=Memory(a,100)即为malloc(100*sizeof(a)),系统动态分配的int型数组为400字节,选项A错误;num为各数据类型元素的数量,其值都为100,选项B正确;char型占1个字节,系统动态分配的char型数组为100字节,选项C错误;float类型占4个字节,double类型占8个字节,所以选项D错误;本题答案为B。
转载请注明原文地址:https://kaotiyun.com/show/1qID777K
0

相关试题推荐
最新回复(0)