若指针p已正确定义,要使p指向两个连续的整型动态存储单位,不正确的语句是

admin2010-01-10  27

问题 若指针p已正确定义,要使p指向两个连续的整型动态存储单位,不正确的语句是

选项 A、p=2*(int*)malloc(sizeof(int));
B、p=(int  *)malloc(2*sizeof(int));
C、p=(int *)malloc(2*2);
D、p=(int *)malloc(2,sizeof(int));

答案1

解析 malloc()函数的调用格式是“malloc(n)”,作用是申请n个字符的存储单元并把该存储区的首地址作为返回值,实际调用的时候可在前面加上“(类型说明符 *)”,以转换成需要的类型的地址。选项D多了一个参数,不符合malloc()函数的调用格式;整型变量在有的计算机系统里占4个字节,并不一定在所有的计算机系统里都是两个字节;选项A中是申请一个整型的存储空间并把该存储空间的首地址乘以2,这样的做法是不正确的,其存储空间为没乘以2之前的存储空间的2倍的连续存储空间的地址。
转载请注明原文地址:https://kaotiyun.com/show/tLWp777K
0

最新回复(0)