C 指针和多维数组
我想要一个包含整数的k2元素数组。我的代码:C 指针和多维数组,c,pointers,memory-management,C,Pointers,Memory Management,我想要一个包含整数的k2元素数组。我的代码: int **pipe_fd_ptr; pipe_fd_ptr = malloc(k*sizeof(int*)); for(i = 0; i < k; i++) { pipe_fd_ptr = malloc(2*sizeof(int)); } // this is just for testing for(i = 0; i<k; i++) { for(j=0;j<2;j++) pipe_fd_ptr[
int **pipe_fd_ptr;
pipe_fd_ptr = malloc(k*sizeof(int*));
for(i = 0; i < k; i++)
{
pipe_fd_ptr = malloc(2*sizeof(int));
}
// this is just for testing
for(i = 0; i<k; i++)
{
for(j=0;j<2;j++)
pipe_fd_ptr[i][j] =j;
}
我犯了错误。我做错了什么?应该是
for(i = 0; i < k; i++)
{
pipe_fd_ptr[i] = malloc(2*sizeof(int));
}
for(i = 0; i < k; i++)
{
pipe_fd_ptr[ i ] = malloc(2*sizeof(int));
}
带管道的管道直径=mallock*sizeofint*;您为int的k个指针分配了空间
然后通过数组进行迭代,并使用pipe_fd_ptr[i]=malloc2*sizeofint为每个指针分配内存 应该是
for(i = 0; i < k; i++)
{
pipe_fd_ptr[ i ] = malloc(2*sizeof(int));
}
带管道的管道直径=mallock*sizeofint*;您为int的k个指针分配了空间
然后通过数组进行迭代,并使用pipe_fd_ptr[i]=malloc2*sizeofint为每个指针分配内存