1.执行语句int *p = 1000;
后,指针变量p
指向地址为1000
的变量。
❌解析:int *p是将指针指向地址为1000的变量是错误的,指针变量存储是内存地址,而1000是整数常量,不是一个有效的内存地址。可以改成这样
int *p;
int x=1000;
p=&x;
上述代码中,首先声明一个指针变量p,然后声明个整数变量x,并赋予值给他。
2.语句int *p, q, r;
定义了3个指针变量
❌解析:定义指针错误。
3.执行语句int *p;
后,指针变量p
只能指向int
类型的变量。
❌解析:这只能相同类型转换。
4.语句int *p; *p = 50;
执行时,不会有任何错误
❌,*p是一个指针变量,需要赋值一个地址才可使用。
5.只要将多个指针作为函数的参数,函数就一定会返回多个值。
❌,解析:指针可以作为函数的参数就能使函数返回多个值,但并不一定。
6.如果函数的返回类型是指针,则可以返回函数内部任意变量的地址。
❌
7.指针变量中保存的肯定是一个地址
✔
8.指针变量中保存的不一定是一个地址
❌,肯定是。
9.在C语言中,数组名是不可改变的,不能对它进行赋值运算。
✔
10.语句 int *p[5];
定义了一个指针数组p
,用于指向一个有5个元素的数组。
❌,[]的优先级高于*,int *p[]定义的是一个指针数组,是将数组内元素是5个指针。