#include<stdio.h>
int main(void)
{
char a='a';
char *pa;
pa=&a;
printf("%c",*pa);
return 0;
}
이거는 잘 되는데
#include<stdio.h>
int main(void)
{
char a='a';
char *pa;
*pa=a;
printf("%c",*pa);
return 0;
}
이거는 왜 안됨?
#include<stdio.h>
int main(void)
{
char a='a';
char *pa;
pa=&a;
printf("%c",*pa);
return 0;
}
이거는 잘 되는데
#include<stdio.h>
int main(void)
{
char a='a';
char *pa;
*pa=a;
printf("%c",*pa);
return 0;
}
이거는 왜 안됨?
'a'=65
그럼 저기서 어떻게 바꿔야 해요?
pa가 가르키는값이 정의가안됨
'a' 는 97 이지. 'A' 가 65고
*pa부터가 불가능할거같은데\
포인터의 주소가 없어서 두번째꺼는 출력 안되는건가요?
오 코세 ㄷㄷ
포인터의 주소가 없어서 두번째꺼는 출력 안되는건가요?
ㄴ혹시 뭐 오류가 안뜨나요?
컴파일은 잘 되는데 실행할때 아무것도 안떠요
리턴값도 이상하네용
아 뭐지 왜캐 이해가 잘 안돼 ㅇㅅㅇ
해당 댓글은 삭제되었습니다.
ㅠㅠ
후자는 pa가 초기화가 안되있음 컴파일러 에러 끄고 컴퍼일 해도 런타임 에러 뜰거야 왜냐면 pa에는 알수없는 쓰래기값, 다시말해 쓰래기 주소가 들어가있고 그 주소에 접근하려는 시도가 메모리 바이올레이션을 유발할거임
정말 감사합니다 1타강사와 같은 설명이었습니다
*pa=a 라는 연산이 의미하는 바가 pa가 가르키는 주소에 접근해서 그 값을 a의 값으로 바꿔라 라는걸 잘 생각해보샘
메가스터디에 현우진이 있고 EBS에 정승제가 있고 프로그래밍에 211.185가 있습니다