niusouti.com

设有说明int(*ptr)[M];其中ptr是()。A.M个指向整型变量的指针B.指向M个整型变量的函数指针C.一个指向具有M个整型元素的一维数组的指针D.具有M个指针元素的一维指针数组,每个元素都只能指向整型量

题目
设有说明int(*ptr)[M];其中ptr是()。

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

B.指向M个整型变量的函数指针

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

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


相似考题
参考答案和解析
正确答案:C
更多“设有说明int(*ptr)[M];其中ptr是()。 ”相关问题
  • 第1题:

    设有如下定义,则以下叙述中正确的是______。 int(*ptr)();

    A.ptr是指向一维数组的指针变量

    B.ptr是指向int型数据的指针变量

    C.ptr是指向函数的指针,该函数返回一个int型数据

    D.ptr是一个函数名,该函数的返回值是指向int型数据的指针


    正确答案:C
    解析:“int(*ptr)();”说明ptr是一个指向函数的指针,返回值是整型。*ptr两边的括号非常关键,表示*和ptr组合成一个指针变量,然后再和后边的圃括号结合,表示该指针变量*ptr是一个指向函数的指针变量。如果没有*ptr两边的括号,“int*ptr();”表示ptr是个函数,该函数返回指向整型数据的指针。

  • 第2题:

    下列有关指针的用法中错误的是( )。

    A.int i;int *ptr=&i;

    B.inti;int *ptr;i=*ptr;

    C.int *ptr;ptr=0;

    D.int i=5;int *ptr;*ptr&i;


    正确答案:B

  • 第3题:

    下面函数的功能是______。 exchange(int*ptr1,*ptr2) { int*ptr; ptr=-ptr1; ptr1=ptr2; ptr2=ptr; }

    A.交换*ptr1和*ptr2的值

    B.无法改变*ptr1和*ptr2的值

    C.可能造成系统故障,因为使用了空指针

    D.交换*ptr1和*pb2的地址


    正确答案:B
    解析:函数中将指针变量ptr1和ptr2中的值交换,而不是交换指针ptr1和ptr2所指变量中的值。

  • 第4题:

    int (*ptr) (),则ptr是一维数组的名字。( )


    正确答案:
      

  • 第5题:

    语句int(*ptr)的含义是( )。

    A.ptr是一个返回值为int的函数

    B.ptr是指向int型数据的指针变量

    C.ptr是指向函数的指针,该函数返回一个int型数据

    D.ptr是一个函数名,该函数的返回值是指向int型数据的指针


    正确答案:C
    本题考查的是指向函数的指针。函数指针定义的基本格式为:类型标识符(*指针变量名)。“类型标识符”为函数返回值的类型。

  • 第6题:

    语句int(*ptr)()的含义是( )。

    A.ptr是一个返回值是int的函数

    B.ptr是指向int型数据的指针变量

    C.ptr是指向函数的指针,该函数返回一个int型数据

    D.ptr是一个函数名,该函数的返回值是指向int型数据的指针


    正确答案:C
    解析:本题考查的是指向函数的指针。函数指针定义的基本格式为:类型标识符(*指针变量名)()。“类型标识符”为函数返回值的类型。

  • 第7题:

    What will the following C code do?

    int *ptr;

    ptr =(int *)Ox67a9;

    *ptr = Oxaa55;


    正确答案:
     

  • 第8题:

    请指出程序片段的语法错误 ______。

    A.int *age_ptr;

    B.int m=3;

    C.*age_ptr=&m:

    D.*age_ptr=10;


    正确答案:C

  • 第9题:

    设有定义:int(* ptr)( ); 则以下叙述中正确的是 ( )

    A.ptr是指向一维数组的指针变量

    B.ptr是指向int型数据的指针变量

    C.ptr是指向函数的指针,该函数返回一个int数据

    D.prt是一个函数名,该函数的返回值是指向int型数据的指针


    正确答案:C

  • 第10题:

    在设备驱动程序(函数)Dev_drv1中,对指针ptr的说明如下:

    【C语文代码】

    int Dev_drv1(int arg1,int arg2 )

    {

    struct node {

    int ID;

    char name [20];

    int range;

    } ;

    struct node *ptr;

    /*其他局部变量声明,略*/

    ptr = (struct node *)malloc(sizeof(struct node)*100);

    /*其他程序代码,略*/

    }

    设int为32位整数,char占8位。当对指针ptr赋完值后的值为0x3751CO,若再执行一条“ptr++;”语句,此时ptr的值为多少? (用十六进制表示)。


    正确答案:ptr的值为以下均按正确对待。 0x3751DC或3751DCH或十六进制3751DC或3751DC。
    ptr的值为以下均按正确对待。 0x3751DC,或3751DCH,或十六进制3751DC,或3751DC。 解析:本题考查对C语言指针变量的理解。在指针赋予某一变量的地址后,该指针就指向该变量所分配的地址空间。需要强调的是,指针变量是有类型的,指针的值加1,表示增加按其声明类型所占的字节数,而不是增加一个字节的地址。因此ptr++后ptr的值比原来增加28个字节,当前的值应为0x3751DC。

  • 第11题:

    已有定义int k=2;int*ptr1,*ptr2;且ptr1、ptr2均已指向变量k,下面不能正确执行的赋值语句是()

    • A、k=*ptr1+*ptr2
    • B、prt2=k;
    • C、ptr1=ptr2
    • D、k=*ptr1*(*ptr2)

    正确答案:B

  • 第12题:

    单选题
    设有说明int(*ptr)[m];其中的标识符ptr是()
    A

    m个指向整型变量的指针

    B

    指向m个整型变量的函数指针

    C

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

    D

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


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

  • 第13题:

    已有定义“int k=2;int*ptr1, *ptr2;”,且ptr1和ptr2均已指向变量k,下面不能正确执行的语句是______。

    A.k=*ptr1+*ptr2;

    B.ptr2=k;

    C.ptr1=ptr2;

    D.K=*ptr1*(*ptr2);


    正确答案:B

  • 第14题:

    (C语言)假设有如下定义方式int(**ptr)();,则以下叙述中正确的是

    A、ptr是指向一维数组的指针变量

    B、ptr是指向int型数据的指针变量

    C、ptr是指向函数的指针的指针,该函数返回一个int型数据 我是应届生

    D、ptr是一个函数名,该函数的返回值是指向int型数据的指针


    正确答案:
     

  • 第15题:

    设有如下定义: int arr[]={6,7,8,9,10); int*ptr: ptr=arr; *(ptr2)=2; printf("%d,%d\n",*ptr,*(ptr2)): 则下列程序段的输出结果为( )。

    A.8,10

    B.6,8

    C.7,9

    D.6,2


    正确答案:D
    程序中ptr指针指向数组art的首地址,*ptr=arr[0]=6,*(ptr2)=2,故选D。

  • 第16题:

    设int arr[]={6,7,8,9,10};

    int *ptr=arr;

    (ptr++)+=123;

    printf("%d,%d",*ptr,*(++ptr));

    ( )


    正确答案:
     

  • 第17题:

    在整型指针变量ptr1、ptr12的定义中,错误的是 ______。

    A.int x, *ptr1, ptr2;

    B.int*ptrl, x, *ptr2;

    C.int x,*ptrl=&x,*ptr2;

    D.int*ptr1, x,*ptr2=&x;


    正确答案:B

  • 第18题:

    设有说明int(*ptr)[M];其中的标识符ptr是( )。

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

    B.指向M个整型变量的函数指针

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

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


    正确答案:C
    解析:根据C语言的语法规则可知,int(*ptr)[M]中的标识符ptr是一个指向具有M个整型元素的一维数组指针。

  • 第19题:

    下列有关指针的用法中错误的是( )。

    A.int i;int*ptr=&i;

    B.int i;int*ptr;i=*ptr;

    C.int*ptr;ptr=0;

    D.int i=5;int*ptr;*ptr&i;


    正确答案:B

  • 第20题:

    设有以下定义: int a[3][3]={1,2,3,4,5,6,7,8,9}; int(*ptr)[3]=a; 则下列能正确表示数组元素a[1][2]的表达式是______。

    A.*((*ptr+1)[2])

    B.a[2][3]

    C.(*ptr+1)+2

    D.*(*(a+1)+2)


    正确答案:D
    解析:指针变量ptr是指向长度为3的整型一维数组,当ptr指向二维数组a时,ptr每移动一个单位将指向数组的下一行,*(*(a+1)+2)表示数组元素a[1][2],*(*(ptr+1)+2)也可以。

  • 第21题:

    设有说明int(*ptr)[M],其中的标识符ptr是(45)。

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

    B.指向M个整型变量的函数指针

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

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


    正确答案:C
    解析:本题考查C语言中指针与数组的应用。在C语言中,定义指针数组的方法是(数据类型*指针数组名[常量表达式]),而题目中给出的说明是int(*ptr)[M],因此,不是定义指针数组的方法,而是定义一个指向具有M个整型元素的一维数组的指针。

  • 第22题:

    设有说明 int (*ptr)();其中标识符ptr是( )。

    A 是一个指向整形变量的指针

    B 是一个指针,它指向一个函数值是int的函数

    C 是一个函数名

    D定义不合法


    正确答案:B

  • 第23题:

    单选题
    已有定义int k=2; int *ptrl, *ptr2,且ptr1和ptr2 均已指向变量k,下面不能正确执行的赋值语句是()
    A

    k =*ptr1+*ptr2;

    B

    ptr2 = k;

    C

    ptr1=ptr2;

    D

    k = *ptr1*(*ptr2);


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