C에서 포인터 조작을 배우려고하는데 코드 일부가 작동하지 않는 것을 이해하지 못합니다.C에서 올바른 포인터 연산
#include <stdio.h>
int main() {
int *alpha[17];
*(alpha+4)= 35;
*(alpha+5)= 35;
*(alpha+12)= 50;
printf("%d", *(alpha+4));
*(alpha+8)=*(alpha+5) + *(alpha+12);
return 0;
}
printf
이 작동하지 않고 이전 라인이 완벽하게 실행되었을 때 충돌이 발생하는 이유는 무엇입니까? 저는 6 번째 값과 13 번째 값의 합과 같게 9 번째 값을 얻으려고합니다.
나를 위해 컴파일되지 않습니다. '오류 : 이진 표현식에 대한 피연산자가 잘못되었습니다 ('int *'및 'int *') ' –
포인터를 추가하고 있습니다. 포인터를 추가 할 수 없어야합니다. – Cornstalks
코드에는 몇 가지 다른 정의되지 않은 동작이 있습니다. 인수 타입이'int *'인 경우 printf 변환 지정자가 인수 유형과 일치하지 않을 때 '% d'을 (를) 사용합니다. int를'int * '에 할당하는 것뿐만 아니라. –