c语言中的这种代码是什么意思?请指教, 谢谢

double * ptd;ptd = (double *) malloc(30 * sizeof(double));
2025-03-24 05:15:20
推荐回答(2个)
回答1:

函数malloc(size)
在内存的动态存储区中分配一块长度为size字节的连续区域,参数size为需要内存空间的长度,返回该区域的首地址
sizeof() 是一个判断数据类型或者表达式长度的运算符。
第一行的 double *ptd 表示定义一个双精度指针名为ptd
第二行的 (double *) 表示强制规定后面的内容为双精度指针型
sizeof (类型说明符) 表示取该类型的大小
malloc(30 * sizeof(double)) 即表示申请30个双精度型的空间

回答2:

定义一个指针ptd,然后分配一块30个double大小的内存空间,将首地址返回给ptd。