现有如下定义:struct aa{int a;float b;char c;}*p;现需用malloc函数动态的申请一个struct aa类型大小的空间(由p指向),则定义的语句为: 【17】 。

题目

现有如下定义:struct aa{int a;float b;char c;}*p;现需用malloc函数动态的申请一个struct aa类型大小的空间(由p指向),则定义的语句为: 【17】 。


相似考题
更多“现有如下定义:structaa{inta;floatb;charc;}*p;现需用malloc函数动态的申请一个structa ”相关问题
  • 第1题:

    设有定义“struct {int a; float b; char c;} abc, *p_abc=&abc;”,则对结构体成员a的引用方法可以是abc.a和p_abca。


    正确答案:->
    本题主要考查结构体的引用。在本题中,首先定义了一个结构体和该结构体的变量abc,然后定义一个结构指针变量p_abc,并使其指向该结构体变量abc。
    结构成员的引用形式主要有两种。第一种的表达式为:
    结构变量名.成员名
    其中,“.”是一个小数点字符,称为结构成员运算符,“.”连接结构变量名和成员名。“.”属于最高优先级运算符。所以,结构成员的引用表达式在任何地方出现都是一个整体,它的作用与一个下标变量(对数组元素的引用)相同,前者表示一个结构成员,后者表示一个数组成员。
    第二种的表达式为:
        (*结构指针变量).成员名
    或者
        结构指针变量->成员名
    因此,本题对结构体成员的引用方法可以为abc.a和p_abc->a。

  • 第2题:

    设有定义语句“struct {int a;float b;char c;}abc,*p;”,则对结构体成员a的引用可以是( )。

    A、abc.a

    B、abc->a

    C、(*p).a

    D、p->a


    参考答案ACD

  • 第3题:

    有变量定义如下: int *p; 通过p指针申请动态空间的语句中表达错误的是________

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

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

    C.p=(int *) calloc(10*sizeof(int));

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


    p=(int *) calloc(10*sizeof(int));

  • 第4题:

    设有定义“struct {int a;float b;char c;}abc,*p_abc=&abc;”,则对结构体成员a的引用方法可以是abc.a和p_abc【 】a。


    正确答案:->
    -> 解析:若结构体变量abc有成员a,并有指针p_abc指向结构变量abc,则引用变量abc成员a的标记形式有abc.a和p_abc->a。

  • 第5题:

    有如下变量定义,则对data中的a的正确引用是:struct sk { int a; float b; } data, *p=&data;

    A.(*p).data.a

    B.(*p).a

    C.p->data.a

    D.p.data.a


    (*p).a