itgle.com

具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是()。A、P=YB、*P=Y[i]C、P+&Y[i]D、P=&Y

题目

具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是()。

  • A、P=Y
  • B、*P=Y[i]
  • C、P+&Y[i]
  • D、P=&Y

相似考题
更多“具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是()”相关问题
  • 第1题:

    设有定义语句int (*f)(int);,则以下叙述正确的是

    A.f是基类型为int的指针变量

    B.f是指向函数的指针变量,该函数具有一个int类型的形参

    C.f是指向int类型一维数组的指针变量

    D.f是函数名,该函数的返回值是基类型为int类型的地址


    正确答案:B
    解析: 本题考查的是指向函数的指针。语句int(*f)(int);是对一个函数的声明,其中f是指向该函数的指针,该函数有一个整型的参数,函数返回值类型为整型。

  • 第2题:

    设有下列程序段: char s[20]="Beijing",*p; p=s; 则执行p=s;语句后,下列叙述正确的是( )。

    A.可以用*p表示s[0]

    B.s数组中元素的个数和p所指字符串长度相等

    C.s和p都是指针变量

    D.数组s中的内容和指针变量p中的内容相同


    正确答案:A
    解析:程序定义了字符数组s和字符型指针变量p,并且使得p指向数组,执行p=s;语句后,*p即表示s[0];s数组中元素的个数和 p所指字符串长度不相等,因为s数组中元素的个数包括字符串结束标志“\0”,而p所指字符串长度不包括“\0”;s是字符型数组,p是指针变量;数组s中的内容和指针变量p中的内容不相同,数组中存放的是字符串,而指针变量p存放的是数组的首地址。

  • 第3题:

    设有变量说明int(*p)[m],其中的标识符p是( )。

    A.m个指向整型变量的指针

    B.指向m个整型变量的指针

    C.一个指向具有m个整型元素的一维数组的指针

    D.具有m个指针元素的一维指针数组,每个元素都指向整型变量


    正确答案:C
    解析:本题考查指向数组的指针变量的声明。这里的p表示一个指向数组的指针;*p表示指针p指向地址的内容。

  • 第4题:

    在下列叙述中,正确的一条是( )

    A.语句int *pt中的*pt是指针变量名

    B.语句"int *p=a;"等价于"int *p;p=&a[0];”

    C.运算符*和&都是取变量地址的运算符

    D.已知指针变量p指向变量a,则&a和*p值相同,都是变量a的值


    正确答案:D

  • 第5题:

    设有定义语句int(*f(int);,则下列叙述正确的是( )。

    A.f是基类型为int的指针变量

    B.f是指向函数的指针变量,该函数具有一个int类型的形态

    C.f是指向int类型一维数组的指针变量

    D.f是函数名,该函数的返回值是其类型为int类型的地址


    正确答案:B
    解析:定义语句int(*f(int)中f是指向函数的指针变量,该函数中也只有一个int型的形参。

  • 第6题:

    设有定义语句 则以下叙述正确的是( ).A.f是指向函数的指针变量,该函数具有_个int类型的形参SX

    设有定义语句

    则以下叙述正确的是( ).

    A.f是指向函数的指针变量,该函数具有_个int类型的形参

    B.f是基类型为int的指针变量

    C.f是指向int类型一维数组的指针变量

    D.f是函数名,该函数的返回值是基类型为int类型的地址


    正确答案:A

  • 第7题:

    若有定义int*p[3];,则以下叙述中正确的是______。

    A.定义了一个基类型为int的指针变量p,该变量有三个指针

    B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

    C.定义了一个名为*p的整型数组,该数组含有三个int类型元素

    D.定义了一个可指向二维数组的指针变量p,所指一维数组应具有三个int类型元素


    正确答案:B
    解析:由于运算符[]优先级比*高,int*p[3];相当于int*(p[3]);,表示数组p的三个元素都是指针变量,且每个元素都是基类型为int的指针。

  • 第8题:

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

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

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

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

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


    正确答案:D

  • 第9题:

    定义“double *p[6];”的含义是()。

    • A、p是一个指向double类型变量的指针
    • B、p是double类型数组
    • C、p是指针数组
    • D、p是数组指针

    正确答案:C

  • 第10题:

    设有如下定义: typedefint*INTEGER; INTEGERp,*q; 则()是正确的叙述。

    • A、p是int型变量
    • B、q是基类型为int的指针变量
    • C、p是基类型为int的指针变量
    • D、程序中可用INTEGER代替int类型名

    正确答案:C

  • 第11题:

    单选题
    具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是()。
    A

    P=Y

    B

    *P=Y[i]

    C

    P+&Y[i]

    D

    P=&Y


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

  • 第12题:

    单选题
    若有定义 int(* pt)[3]; 则下列说法中正确的是(  )。
    A

    定义了基类型为int的三个指针变量

    B

    定义了基类型为int的具有三个元素的指针数组pt

    C

    定义了一个名为 * pt、具有三个元素的整型数组

    D

    定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组


    正确答案: B
    解析:
    int(*pt)[3];语句定义了一个指向一维数组的指针pt,该一维数组具有三个int型元素。D项,按照C语言中二维数组的定义知,二维数组先进行行排列,再进行列排列,故pt也可以指向每行有三个整数元素的二维数组。答案选择D选项。

  • 第13题:

    若有定义“int*p[3];”,则以下叙述中正确的是( )。

    A.定义了一个基类型为int的指针变量p,该变量具有3个指针

    B.定义了一个指针数组p,该数组含有3个元素,每个元素都是基类型为int的指针

    C.定义了一个名为*p的整型数组,该数组含有3个int类型元素

    D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个int类型元素


    正确答案:B
    解析:本题定义了一个指针数组p,每个元素都是基类型为int,它的长度为3即该数组含有3个元素。选项A、C和D都不正确,只有选项B符合题意。

  • 第14题:

    设有下面的程序段:

    char s[]="china"; char*p; p=s;

    则下列叙述正确的是

    A.s和p完全相同

    B.数组s中的内容和指针变量p中的内容相同

    C.s数组长度和p所指向的字符串长度相等

    D.*p与s[0]相等


    正确答案:D
    解析:考查的是字符指针和字符数组的区别。选项A)中,s为数组名,是一个常量地址,而指针p为一个字符变量,不能说两者完全相同,所以选项A)错误。选项B)和C)的说法都不严谨,只有选项D)的说法正确。

  • 第15题:

    若有定义"int*p[3];",则以下叙述中下确的是

    A.定义了一个基类型为int的指针变量p,该变量具有三个指针

    B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类犁为int的指针

    C.定义了一个名为*p的整型数组,该数组含有三个int类型元素

    D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素


    正确答案:B
    解析:本题考核的知识点是指针数组的定义。指针数组也是一种数组,所有有关的概念都适用于它。但它与普通的数组又有区别,它的数组元素是指针类型,只能用来存放地址。其格式为:存储类型数据类型*指针数组名[长度1],其含义为:定义了一个长度1的数组,其中数组元素为相应存储类型的指针,对比定义可知,选项A、c和D都不正确,所以,4个选项中选项B符合题意。

  • 第16题:

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

    A.p是int型变量

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

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

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


    正确答案:B
    解析:INTEGER是类型名,由它来间接定义P和*q的类型,因此,p是基类型为int的指针变量,q是二级指针变量,它指向基类型是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题:

    设有如下定义:typedefint*INTEGER;INTEGERp,*q;则()是正确的叙述。

    A.p是int型变量

    B.q是基类型为int的指针变量

    C.p是基类型为int的指针变量

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


    参考答案:C

  • 第19题:

    设有以下定义和语句:

    则以下叙述中正确的是( )。

    A.*P与str[0]的值相等

    B.str与p的类型完全相同

    C.str数组长度和p所指向的字符串长度相等

    D.数组str中存放的内容和指针变量p中存放的内容相同


    正确答案:A
    本题中的str为一个字符型数组,P为字符型指针变量,其指向str的首地址,*P的值为str[0]中的字符,其类型、长度不同,但字符第一个相同,故答案选择A。

  • 第20题:

    具有相同类型的指针类型变量p与数组a,不能进行的操作是( )。

    A p=a;

    B *p=a[0];

    C p=&a[0];

    D p=&a;


    正确答案:D

  • 第21题:

    在说明int(*pointer)[6];中,标识符pointer()。

    • A、说明不合法
    • B、是一个指针数组名,每个元素是一个指向整型变量的指针
    • C、是一个指针,它指向一个具有六个元素的一维数组
    • D、是一个指向整型变量的指针

    正确答案:C

  • 第22题:

    若有以下说明和定义:typedefint*INTEGER INTEGERp,*q;以下叙述正确的是()

    • A、p是int型变量
    • B、p是基类型为int的指针变量
    • C、q是基类型为int的指针变量
    • D、程序中可用INTEGER代替int类型名

    正确答案:B

  • 第23题:

    单选题
    定义“double *p[6];”的含义是()。
    A

    p是一个指向double类型变量的指针

    B

    p是double类型数组

    C

    p是指针数组

    D

    p是数组指针


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