다음 C 프로그램이 있습니다.포인터를 이해하지 못합니다.
#include <stdio.h>
int main()
{
int *p, *q;
*p=5;
*q=6;
printf("%d %d", *p, *q);
return 0;
}
코드가 실행되고 있지 않습니다. 이 코드가 뭐니 뭐니?
다음 C 프로그램이 있습니다.포인터를 이해하지 못합니다.
#include <stdio.h>
int main()
{
int *p, *q;
*p=5;
*q=6;
printf("%d %d", *p, *q);
return 0;
}
코드가 실행되고 있지 않습니다. 이 코드가 뭐니 뭐니?
포인터가 초기화되지 않았거나, malloc을 사용하여 유효한 메모리를 가리 키거나 로컬 변수의 주소를 가져와야합니다.
#include <stdio.h>
int main()
{
int p, q;
int *pp = &p;
int *pq = &q;
*pp=5;
*pq=6;
printf("%d %d", *pp, *pq);
return 0;
}
.
어떻게 초기화 할 수 있습니까? –
내 대답을 편집했습니다. 이 경우에 new를 사용하는 이유를 알 수 없으므로 로컬 변수 만 표시됩니다. –
질문이 있습니다. 포인터가 메모리 주소 만 보유 할 수 있습니까? –
나중에 "코드가 실행되고 있지 않음"이 아닌, 정확히 어떻게 실패하는지 알려주십시오. 오류 메시지가 있으면 질문에 복사하여 붙여 넣으십시오. 문제는이 경우에 충분히 직설적 이었지만 다음에는 그렇지 않을 수도 있습니다. –
[comp.lang.c FAQ] (http://www.c-faq.com/)는 훌륭한 자료입니다. 섹션 4는 포인터를 다룹니다. –