결과가
2
3
4
2 가 나오는데
제 생각에는
2 인데 왜 3이 4로 나왔는지 궁금합니다
지역 변수라고, 이미 한번 메모리가 바껴도 호출이 되면
그 시점까지 유지가 되는데
잘 보시면 int index=3; 했는데 이러면 컴파일러에 따라 에러 뜰 것 같은데, vs 환경으로 소개해드리면
nt index=3;이 Printf("%d \n",index); 나오기전까지 값이 바뀌면 계속 유지되요
int index=3;이 Printf("%d \n",index); 나오기전까지 값이 바뀌면 계속 유지되요
근데 그 위에 int index=2; 가 있잖아요? 그러니까 int index=2; 하고 int index=3; 의 메모리 정보가 다른거에요
int index=3; 안에 있는 경우에는 index 값을 바꾸거나 하면 int index=3; 상태로 유지되요 생각해보니 에러 안 잡히겠네요 실수 죄송합니다
그니까 int index=3; 의 주소랑 int index=2; 의 주소랑 메모리 정보가 다르다고 생각하시면 됩니다
둘 다 다른 값이에서 컴파일러에서 인식하는 기준은 {}안에 int index=2;가 가장 먼저 실행되었을 때 그 범위 안까지 메모리가 유지된다고 보시면 됩니다
답변감사해요 읽고 생각해볼게요
둘 다 다른 값이여서 컴파일러에서 인식하는 기준은 {}안에 int index=2;가 가장 먼저 실행되었을 때 그 범위 안까지 메모리가 유지된다고 보시면 됩니다
아니에요 열심히하세요 파이팅
혹시 index = 1 문장은 전역 변수라하나요? 또 이 프로그램에서의 역할을 못하고 있는건가요?
네네 둘다 맞아요 확인해보고 싶으시면 void a() 중괄호 printf("%d\n",index); 중괄호 하시면 됩니다
void main(){ ~~} void a() 이런식으로요
나 플밍입문 5일차인데 -가 없는데 4번째에 3이 어떻게 나오냐 이 띨빡이년아
index += 1; 이 함수가 { } 이 괄호 안에까지만 적용되는게 아닌가요?
지역 변수라고, 이미 한번 메모리가 바껴도 호출이 되면
그 시점까지 유지가 되는데
잘 보시면 int index=3; 했는데 이러면 컴파일러에 따라 에러 뜰 것 같은데, vs 환경으로 소개해드리면
nt index=3;이 Printf("%d \n",index); 나오기전까지 값이 바뀌면 계속 유지되요
int index=3;이 Printf("%d \n",index); 나오기전까지 값이 바뀌면 계속 유지되요
근데 그 위에 int index=2; 가 있잖아요? 그러니까 int index=2; 하고 int index=3; 의 메모리 정보가 다른거에요
int index=3; 안에 있는 경우에는 index 값을 바꾸거나 하면 int index=3; 상태로 유지되요 생각해보니 에러 안 잡히겠네요 실수 죄송합니다
그니까 int index=3; 의 주소랑 int index=2; 의 주소랑 메모리 정보가 다르다고 생각하시면 됩니다
둘 다 다른 값이에서 컴파일러에서 인식하는 기준은 {}안에 int index=2;가 가장 먼저 실행되었을 때 그 범위 안까지 메모리가 유지된다고 보시면 됩니다
답변감사해요 읽고 생각해볼게요
둘 다 다른 값이여서 컴파일러에서 인식하는 기준은 {}안에 int index=2;가 가장 먼저 실행되었을 때 그 범위 안까지 메모리가 유지된다고 보시면 됩니다
아니에요 열심히하세요 파이팅
혹시 index = 1 문장은 전역 변수라하나요? 또 이 프로그램에서의 역할을 못하고 있는건가요?
네네 둘다 맞아요 확인해보고 싶으시면 void a() 중괄호 printf("%d\n",index); 중괄호 하시면 됩니다
void main(){ ~~} void a() 이런식으로요
나 플밍입문 5일차인데 -가 없는데 4번째에 3이 어떻게 나오냐 이 띨빡이년아
index += 1; 이 함수가 { } 이 괄호 안에까지만 적용되는게 아닌가요?