C语言指针小小的选择题 【限时秒杀】

C语言指针小小的选择题 【限时秒杀】
假设有如下声明:
int ival=1024,*iptr;
float *fptr;
则如下非法操作是________。
(单选2分)
A.
*fptr=1024;
B.
iptr=&ival;
C.
ival=*iptr;
D.
fptr=&ival;
schuman 1年前 已收到1个回答 举报

荣蕾 幼苗

共回答了21个问题采纳率:85.7% 举报

非法操作应该是D
B显然正确
A和C并是不非法操作,只是没有意义的操作,因为这两个指针都没有初始化,但,如果这两个指针初始化了之后,A和C就完全有意义而且正确了
D则不一样,一种类型的指针指向另外一种类型肯定是错误的,因为不同类型所用内存是不一样的。比如:long int的内存为4b,所以指针指向的是4b这个整体的开头地址,如果指针+1,怎,地址向后移了4b,而int 则为2b
所以一种类型的指针指向另外一种类型是错误的,也就是非法的。

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.281 s. - webmaster@yulucn.com