을 컴파일하지 않고 C에서 NULL 포인터를 설정하면 코드를 컴파일하려고 할 때 .exe 파일이 끝난 후에 사라집니다. 오류나 경고없이.어떤 이유로 든
이 내 코드는 모습입니다 :
#include <stdio.h>
#include <stdlib.h>
typedef struct student_
{
int matnum;
char vorname[20];
struct student_ *next;
} student;
int main (int argc, char **argv)
{
student hans;
hans.matnum = 12;
student peter;
peter.matnum = 13;
peter.next = NULL; // THIS PART CAUSES MY PROBLEM
hans.next = &peter;
student *curr = &hans;
while(curr != NULL)
{
printf("matnum: %d\n", (*curr).matnum);
curr = curr->next;
}
return 0;
}
내가 그것을하고 싶은 것은 CURR을 반복하고 다음 매번 CURR로 설정입니다 이미 NULL 아니었다. 따라서 next가 NULL이면 while 루프가 중지되어야합니다.
peter.next = NULL; // THIS PART CAUSES MY PROBLEM
이렇게하면 좋겠지 만 작동하지 않습니다. : \ 코멘트에서
는 :
I 오류가 발생하지 않습니다. 나중에 "gcc -Wall -o test test.c"라고 입력하면 test.exe가 잠시 멈추고 삭제됩니다.
이것은 의미가 없습니다. 컴파일하거나 오류 메시지가 표시됩니다. –
컴파일 오류입니까 아니면 런타임 오류입니까? 오류 텍스트를 복사하여 질문에 붙여 넣으시겠습니까? –
오류가 발생하지 않습니다. 나중에 "gcc -Wall -o test test.c"라고 입력하면 test.exe가 잠시 멈추고 삭제됩니다. – user3233698