下列有关指针的操作中,正确的是( )。

admin2019-08-23  44

问题 下列有关指针的操作中,正确的是(    )。

选项 A、int a=10;void *ptr=&a;cout<< *(ptr);
B、int *ptr=new int[10];delete ptr;
C、int Array[4];*(Array+3)=10;
D、int *ptr=new int*[10];

答案C

解析 选项A首先定义整型变量a,初值为10;然后定义void类型指针ptr,将a的地址赋给ptr,由于a的类型和ptr的类型不同,所以不能直接赋值,A错误;选项B动态分配10个整型数的存储空间,首地址赋给ptr,释放ptr时需要使用delete[],B错误;选项C定义数组Array,它包含4个整型元素,然后将与数组首地址Array偏移3个整型数的地址指向的元素,赋值为10,即Array[3]=10,正确;选项D使用new运算符动态分配10个整型指针元素的存储空间,首地址赋给ptr,所以ptr必须是一个指向指针的指针int * * ptr,错误;本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/1J8p777K
0

最新回复(0)