Извините, за странный вопрос. Я написал следующую программу:
#include <stdio.h>
int main()
{
int a[2];
int **vararr = (int **)a;
int testarr[]= {1, 2 ,3};
printf("%d %d %d\n", testarr[0], testarr[1], testarr[2]);
vararr[0] = (int *)testarr;
printf("%d %d %d\n", testarr[0], testarr[1], testarr[2]);
printf("%d %d %d\n", vararr[0][0], vararr[0][1], vararr[0][2]);
}
, которая возвращает:
1 2 3
32765 2 3
32765 2 3
Я ожидал: vararr[0][0] == 1 && testarr[0] == 1
Если я перезапущу Программу, 32765 изменится на + -2
Я действительно не понимаю, что я сделал не так. Я не смог найти ничего, касающегося моей проблемы, поскольку я действительно не знаю, как правильно сформулировать ее.