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 如果死机,优先看指针的创建,逻辑有没有问题
