关于C语言的二维数组的一些注意事项(使用指针)


C语言的指针创建二维数组时可以采用 以下方法:

char **a;//二维数组指针
a= (char **)malloc(MAXNUMBER * sizeof(char *));//申请一维指针空间
for (int i = 0; i < MAXNUMBER; i++)
    {
        a[i] = (char *)malloc(MAXNUMBER * sizeof(char));// 申请存储数据的空间
        for (int j = 0; j < MAXNUMBER; j++)
        {
        a[i][j] = '\0';\\对存储数据的空间初始化
        }
    }

注意事项:

1使用时一定要初始化

2使用时记得数据存储在二维地址上,不要对其他的地址进行赋值(会出现bug)

3使用时要严格按照顺序创建,出错会创建失败

4 MAXNUMBER 是通过全局替换定义的,实际使用时请更换为对应的数值

5 如果创建结构体的指针,记得要对结构体的内部(各种基本类型和指针)进行初始化

6 打死不要去使用类似于下面的赋值方法,(如果你是大佬,当我没说)

char **a;//二维数组指针1
char **b;//二维数组指针2
…………………………
…………………………
a=b;//不要用

7 如果死机,优先看指针的创建,逻辑有没有问题


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注