p,q 同为整型指针变量,二者里面仅能存放整型变量的地址。
选项 A,q 中为地址,因此可将此地址赋给 p
选项 B,*p 表示 p 所指向对象 n 的内容,即一个整数;*q 表示 q 所指向对象的内容,由于在定义 q 时为其
初始化,将 p 中 n 的地址给 q,因此 p 中存放 n 的地址,*q 表示 q 所指向对象 n 的内容.因此*p=*q 相当
于 n=n;
选项 C,n=*q 等价于 n=n;
选项 D,p 中只能存放地址,不能将 n 中的整数值赋给 p
5。有语句:int a[10],;则 B 是对指针变量 p 的正确定义和初始化.
A)int p=*a; B)int *p=a; C)int p=&a; D)int *p=&a;
选项 A,a 是数组名,不是指针变量名,因此不可用*标注数组名 a
选项 C,a 是数组名,数组名就是地址,无需再用地址符号。而且在定义指针变量 p 时,应在变量名前加*,
标明 p 是指针变量
选项 D,a 是数组名,数组名就是地址,无需再用地址符号.
6。若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是( C )。
A.a[p] B。p[a] C.*(p+2) D.p+2
首先定义一个整型数组 a,a 的长度为 5,然后定义一个指针变量 p,并同时对 p 进行初始化,将数组 a 的
地址赋给 p。因此此时 p 中存放的数组 a 的首地址,即数组中第一个元素 a[0]的地址。
对于数组元素下标的引用(详见 p144), 一般形式 数组名[下标] 其中下标为逻辑地址下标,从 0 开始
计数,方括号中的下标可以是变量,可以是表达式,但结果一定要是整数.
选项 A,p 中存放的是地址,不是整数,不能做数组元素的下标
选项 B,a 是数组名,数组名就是地址,不是整数,不能做数组元素的下标
选项 C,(重点!!!详见 p231~234) p+2 表示指向同一数组中的下两个元素的地址,当前 p 指向 a[0],
则 p+2 表示 a[2]的地址,因此*(p+2)表示 a[2]的内容
7.有如下程序
int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;
评论0
最新资源