对以下程序段,下划线中应填入的正确格式是( ) float *p; p= malloc(sizeof(float)); A. (float *) B. float * C. (* float) D. float
时间: 2024-02-13 16:06:25 浏览: 57
huidu.rar_float_graph.h_malloc.h
下划线中应填入选项 A. `(float *)`。
程序段中定义了一个浮点型指针 `p`,然后调用了 `malloc` 函数来动态分配内存,分配的内存大小为 `sizeof(float)`。`malloc` 函数返回一个 `void *` 类型的指针,指向分配的内存空间的起始地址。需要将其强制转换为浮点型指针类型,才能将其赋值给浮点型指针 `p`。
因此,正确的程序段应该是:
```c
float *p;
p = (float *)malloc(sizeof(float));
```
选项 A 中的 `(float *)` 表示将 `void *` 类型的指针强制转换为浮点型指针类型。选项 B 中的 `float *` 表示定义了一个浮点型指针,但没有进行类型转换。选项 C 中的 `(* float)` 是一个错误的语法,不能用来表示指针类型。选项 D 中的 `float` 只是表示浮点型的类型,不能用来表示指针类型。
阅读全文