什么是;malloc“;你用C/MPI做什么?
可能重复:什么是;malloc“;你用C/MPI做什么?,c,mpi,C,Mpi,可能重复: aynone能否解释这段代码的作用,尤其是“malloc”?我在C和MPI中使用这个 vector = ( double * ) malloc ( size_of_vector * sizeof ( double ) ); for ( i = 0; i < size_of_vector; i++ ) { vector[i] = (double) ( i + 0.211 ); } 向量=(double*)malloc(向量的大小*sizeof
aynone能否解释这段代码的作用,尤其是“malloc”?我在C和MPI中使用这个
vector = ( double * ) malloc ( size_of_vector * sizeof ( double ) );
for ( i = 0; i < size_of_vector; i++ ) {
vector[i] = (double) ( i + 0.211 );
}
向量=(double*)malloc(向量的大小*sizeof(double));
对于(i=0;i<向量的大小;i++){
向量[i]=(双)(i+0.211);
}
我对malloc知道这一点:
函数malloc()返回指向大小为的内存块的指针
大小,如果有错误,则为NULL。指向的内存将打开
堆,而不是堆栈,因此请确保完成后释放它
用它
它分配足够的内存来存储
size\u of_vector
double,然后初始化该内存以保存size\u of_vector
double,并根据其在向量中的位置计算值
malloc
调用分配内存。malloc-分配内存。传入的参数是要返回的字节数
上面的代码为一个double数组分配了足够的内存(长度等于向量的大小)
for循环只是初始化数组,数组中的每个插槽都比它前面的插槽高.211。malloc用于在C中分配内存 例如,每种数据类型的double可能是8个字节。
sizeof(double)
获取此大小和
size\u of_vector*sizeof(double)
是向量的实际大小
因此,您实际上要做的是将向量的实际大小传递到malloc中,您希望malloc为您保留一定数量的内存以供使用。wellcome to stackoverflow。我想你误解了这个网站的目的。这不会取代您喜爱的搜索引擎。在这里提问之前,请表现出一些努力。