若有语句:void*p=malloc(80);,则以下叙述错误的是( )。

admin2022-10-24  15

问题 若有语句:void*p=malloc(80);,则以下叙述错误的是(          )。

选项 A、可以通过指针P直接访问用malloc开辟的这块内存
B、p所指内存可以通过强制类型转换当作具有20个int型元素的一维数组来使用
C、p所指内存可以通过强制类型转换当作具有10个double型元素的一维数组来使用
D、p所指内存可以通过强制类型转换当作具有80个char型元素的一维数组来使用

答案A

解析 题干中使用malloc函数分配了80个字节的内存单元,void指针p指向该内存单元。在C语言中,void*不能直接使用,必须利用强制类型转换将其转换成所需的类型才能使用,所以选项A错误。int类型的元素占4个字节,所以可以将p指向的内存强制转换成具有20个int类型的一维数组来使用,同理,也可以强制转换成10个double类型的一维数组来使用,或强制转换成80个char类型的一维数组来使用,所以选项B、C、D正确。故本题答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/bJkp777K
0

相关试题推荐
最新回复(0)