我想要在一个结构体中有多个3x3的数组,并创建一个通用指针来指向该对象中的任何一个数组。这是我做的,但它一直告诉我指针类型不兼容。我该如何修复我的
具体的警告如下:
array_ptr
?typedef struct my_struct{
char array[3][3];
} object;
object* init_obj(){
object* platinum = (object*)malloc(sizeof(object));
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
platinum->array[i][j] = 'w';
return platinum;
}
int main(){
object* platinum = init_obj();
char **array_ptr = platinum->array;
printf("%c\n", array_ptr[0][0]);
return 0;
}
具体的警告如下:
warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
char **array_ptr = platinum->array;
当程序运行时,会发生段错误,但如果直接从platinum->array
打印,则不会出现此问题。我该如何修复呢?