То, что я до сих пор узнал об указателях: указатель ссылается на адрес переменной
int a = 0 ;
int *p = &a ;
, а двойной указатель ссылается на адрес переменной указателя
int *b = &a ;
int **c = &b ;
и, насколько я знаю, верно, у меня не должно возникнуть проблем при выполнении приведенных ниже кодов:
#include<stdio.h>
void reference(int **input)
{
**input = 963;
}
int main(void)
{
int* value;
reference(&value);
printf("%d\n", *value);
system("PAUSE");
return 0;
}
В этом коде я ожидал увидеть "963" в консоли.Когда я выполняю код, сборка завершается успешно, но cmd просто останавливается.В чем может быть проблема для этого простого кода?