#include<stdio.h> int main() { int i = 11; int *p = &i; foo(&p); printf("%d ", *p); } void foo(int *const *p) { int j = 10; *p = &j; printf("%d ", **p); }
// это показало ошибку времени компиляции.Может кто-нибудь, пожалуйста, объясните
int *const *p
p - указатель на константу , указатель на int.
p
int
Вы можете изменить p сам; Вы не можете изменить *p; Вы можете изменить **p.
*p
**p
void foo(int *const *p) { int j = 10; *p = &j; // nope printf("%d ", **p); }
В вашем коде вы определили метод после вызова, поэтому вы должны поместить его до main()
main()