若有定义:int a[5]={1,2,3,4,5};,则a和&a的区别是( )
- AA. 值不同类型相同
- BB. 值相同类型不同
- CC. 类型相同值不同
- DD. 完全相同
若有定义:int *p;,则p是( )
- AA. 指向整型的指针变量
- BB. 整型变量
- CC. 指向数组的指针
- DD. 函数指针
若有定义:int a=5,*p=&a;,执行(*p)++后,a的值是( )
- AA. 4
- BB. 6
- CC. 5
- DD. 7
若有定义:int a=5,*p=&a;,则&(*p)和p的关系是( )
- AA. 相等
- BB. &(*p)是p的地址
- CC. 不相等
- DD. 类型不同
若有定义:int a=5,*p=&a;,则*(&a)和a的关系是( )
- AA. 值相等
- BB. *(&a)是地址
- CC. 类型不同
- DD. 完全不同
若有定义:int *p;,则p+1表示( )
- AA. p的地址加1
- BB. p向后移动一个元素
- CC. p的值加1
- DD. p向前移动
若有定义:int a=5,*p=&a,**pp=&p;,则**pp的值是( )
- AA. 5
- BB. p的地址
- CC. pp的地址
- DD. a的地址
若有定义:int a[5]={1,2,3,4,5},*p=a;,则*(p+2)的值是( )
- AA. 1
- BB. 3
- CC. 2
- DD. 4
若有定义:int a=5,b=6,*p=&a,*q=&b;,交换*p和*q的方法是( )
- AA. p=q
- BB. *p=*q
- CC. temp=*p;*p=*q;*q=temp
- DD. swap(p,q)
若有定义:char *s="Hello";,则s[0]的值是( )
- AA. 'H'
- BB. 'e'
- CC. 'l'
- DD. 'o'
若有定义:int a[3][4],*p=a[0];,则p+1表示( )
- AA. a[1]的地址
- BB. a[0][1]的地址
- CC. a[0]的地址
- DD. a的地址
若有定义:int a[5]={1,2,3,4,5},*p=a;,以下表示a[3]的是( )
- AA. *(p+2)
- BB. *p+3
- CC. *(p+3)
- DD. *p[3]
若有定义:int a=5,*p=&a;,则&a和p的关系是( )
- AA. 值相等
- BB. &a是p的地址
- CC. 类型不同值相等
- DD. 完全相同
若有定义:int *p=NULL;,则p是( )
- AA. 未初始化的指针
- BB. 空指针
- CC. 野指针
- DD. 指向0的指针
若有定义:void *p;,则p是( )
- AA. 通用指针
- BB. 空指针
- CC. 整型指针
- DD. 函数指针
若有定义:int a=5;int *p=&a;,则&p表示( )
- AA. p本身的地址
- BB. a的地址
- CC. p指向的地址
- DD. a的值
若有定义:int a[5]={1,2,3,4,5},*p=a;,下列运算正确的是( )
- AA. p++
- BB. a++
- CC. &a++
- DD. *p++
若有定义:int a=5,*p=&a;,则sizeof(p)和sizeof(*p)的值分别是( )
- AA. 5,5
- BB. 8,4(64位系统)
- CC. 4,5
- DD. 4,4
若有定义:int (*p)[5];,则p是( )
- AA. 整型指针
- BB. 整型数组
- CC. 数组指针
- DD. 函数指针
若有定义:int *f();,则f是( )
- AA. 返回整型指针的函数
- BB. 整型函数
- CC. 函数指针
- DD. 指针变量