C编程中的多个指针[已关闭]

klsxnrf1  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(105)

已关闭。此问题需要更多focused。目前不接受回答。
**要改进此问题吗?**更新此问题,使其仅针对editing this post的一个问题。

22天前关闭
Improve this question
我们如何创建一个矩阵并使用指针和双指针来使用它,为什么我看到一些开发人员甚至使用两个以上的指针?例如,我想让一个数组包含多个数组,如[[1,2,3],[4,5,6]]我如何正确使用指针和双指针?

#include <stdio.h>
void main(void){
       int **dptr, rows = 3, columns = 2;

       dptr = (**int)malloc(2 * sizeof(int*));

       for(int i = 0; i < rows; i++)
           dptr[i] =(*int)malloc( columns * sizeof(int));

       // Do something here
       
       for(int j = 0; j < rows; j++)
          free(dptr[j]);
       free(dptr);

}

字符串
这是corret吗?

relj7zay

relj7zay1#

您的代码按顺序放回:

#include <stdlib.h>

int main(void)
{
    int **dptr = malloc(2 * sizeof(int*));

    dptr[0] = malloc(3 * sizeof(int));
    dptr[1] = malloc(3 * sizeof(int));
    
    // Uses here

    // free here  
    return 0;
}

字符串
不需要强制转换malloc的返回值你当然可以使用循环来创建更大的数组。

相关问题