更多“设有如下定义:struct sk{int a; float b;}data; int*p;若要使p指向data中的a域,正确的赋值语句是 ”相关问题
  • 第1题:

    设有如下定义: 若要使P指向data中的n域,正确的赋值语句是( )。A. B. C. S

    设有如下定义:若要使P指向data中的n域,正确的赋值语句是( )。

    A.

    B.

    C.

    D.


    正确答案:C
    本题主要考查了结构体变量引用成员数据的方法,主要有以下两种:结构体变量名.成员名或结构体指针_>成员名。

  • 第2题:

    没有如下定义: 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=data.a;


    正确答案:C
    解析:data是一结构体变量,a是它的成员,因此引用a域的正确方法是:data.a,取它的地址赋值给指针变量p的语句应该是:p=&data.a。选项A,将a的地址直接赋给了p,而忽略了a为结构体内部的一个成员,而不是一单独的变量,故选项A不正确;选项B在p=data.a表达式中右边为一个结构体变量的成员不是地址,而左边为一指针应该将一地址赋给它,改选项B不正确:选项D表达式*p=data.a是将结构体变量中的成员a的值赋给指针p所指向的变量值,而不是使指针p指向data中的a域,故选项D不正确;4个选项中只有C正确。

  • 第3题:

    设有如下定义, 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=data.a;


    正确答案:C
    解析:data是—结构体变量,a是它的成员,因此引用a域的正确方法是:data.a,取它的地址赋值给指针变量p的语句应该是:p=&data.a。选项A,将a的地址直接赋给了p,而忽略了a为结构体内部的一个成员,而不是一单独的变量,故选项A不正确;选项B在p=data.a表达式中右边为一个结构体变量的成员不是地址,而左边为一指针应该将一地址赋给它,故选项B不正确;选项D表达式*p=data.a是将结构体变量中的成员a的值赋给指针p所指向的变量值,而不是使指针p指向data中的a域,故选项D不正确:4个选项中只有C正确。

  • 第4题:

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

    A.p=&a;

    B.p=data.a;

    C.p=&data.a;

    D.*p=data.a;


    正确答案:C
    解析:data是一结构体变量,a是它的成员,因此引用a域的正确方法是:data.a,取它的地址赋值给指针变量p的语句应该是:p=&data.a。选项A将a的地址直接赋给了p,而忽略了a为结构体内部的一个成员,不是一单独的变量,故选项A不正确;选项B在p=data.a表达式中右边为一个结构体变量的成员不是地址,而左边为一指针应该将一地址赋给它,故选项B不正确。选项D表达式*p=data.a是将结构体变量中的成员a的值赋给指针p所指向的变量值,而不是使指针p指向data中的a域,故选项D不正确。

  • 第5题:

    设有如下定义: 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=data.a;


    正确答案:C
    解析:结构体变量的引用方法有3种:①结构体变量名.成员名;②指针变量名.成员名;③( * 指针变量名).成员名