Я пытаюсь выделить и инициализировать массив внутри функции, но я не могу получить значения после возврата.выделение массива внутри функции c
Это был мой последний почти работает попытка
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int func(int **thing);
int main() {
int *thing;
func(&thing);
printf("%d %d", thing[0], thing[1]);
}
int func(int **thing) {
*thing = calloc(2, sizeof(int));
*thing[0] = 1;
*thing[1] = 2;
printf("func - %d %d \n", *thing[0], *thing[1]);
}
но значения, напечатанные за пределами функции являются 1 и 0. Есть много документации на указатели там, но я не нашел этот конкретный случай покрыт. Какие-нибудь советы о том, что я делаю неправильно?
Возможно, проблема связана с приоритетом оператора? Я бы попытался заменить все «* вещь [x]» на «(* вещь) [x]». – Bwmat