Я хочу иметь структуру с несколькими массивами 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
.Как мне это исправить?