int ar[3][3]={{1,2,3},{4,5,6},{7,8,9}};
statment1: int k=(int *)((int *)(ar+1)+2);
statment2: int l=*(*(ar+1)+2);
statement3 int *p = (int *)a +1;
Statement1이 컴파일되지 않습니다. Statement2 및 Statement3이 컴파일됩니다. 이제 *
대신 (int *)
을 입력하면 배열이 정수형임을 감안할 때 어떤 차이가 있는지 알 수 없습니다.포인터 : 주어진 컨텍스트에서 *와 (int *) 사이의 차이
'*'포인터가 가리키는 것의 가치를 얻을 것입니다'(INT의 *)는'포인터를 정수로 캐스팅이다. – AntonH
아마도 아무 것도 컴파일하지 않는 것이 더 낫습니다 ... – Potatoswatter
실제로 포인터가 무엇인지 읽고 이해하고, 포인터 연산이 수반하는 것을 (읽기, 시도 및 학습하여) 알아냅니다. 포인터 기반에서 1 : 1 레슨을 기대하지 마십시오. –