티스토리 뷰
728x90
English
아주 기초적이지만 틀리기 쉬운 C 코드 문법을 소개하려고 합니다.
저도 정답을 듣고서야 이해했었죠!
아래 Code는 컴파일을 하면 아무런 문제가 없습니다. 그런데 문제가 있는 부분이 존재합니다. 아래 소스코드를 보시고 아시는 분은 이유를 비밀댓글로 첨부해주셨으면 합니다.
#include<stdio.h> int* func() { int a = 1234; int *b; b = &a; return b; } int main() { int *t; t = func(); printf("%d\n", *t); return 0; }
정답은 따로 올리지 않겠습니다.
아무래도 이상이 없다고 생각하시는 분들은 아래 코드를 참고하셔서 테스트 해보세요!^^;
아시는 분은 비밀 댓글을 통해서 업로드 해주세요!
'Programming language' 카테고리의 다른 글
python * 찍기 프로그램 (0) | 2012.04.14 |
---|---|
TH 문자열 치환 ver. 1.0 (0) | 2012.04.02 |
C언어 char 포인터, 배열 사용 (0) | 2012.03.30 |
아주 기초적이지만 틀리기 쉬운 C 코드 (17) | 2012.03.28 |
ubuntu, mac python 사용하기 (0) | 2012.03.18 |
C++ 로 짠 키보드 타자 연습 프로그램 (5) | 2011.10.20 |
- TAG
- 틀리기 쉬운 C 코드
댓글
-
Jimin 이거 맞추면 선물주나?ㅋㅋㅋㅋㅋㅋㅋㅋ 2012.03.28 02:04
-
taehwan ㅋㅋㅋㅋㅋ 너의 능력향상을 드릴 수 있음! 2012.03.28 02:10 신고
-
taehwan 위 소스코드로만 한다면 설명이 하나 틀렸어요!!! 2012.03.28 02:31 신고
-
정정은 저 아는데 저 사주시면 안돼여? 2012.03.28 02:32
-
taehwan 선물 없음 50% 정답! 소스코드를 실행해보기 바람 2012.03.28 09:24 신고
-
taehwan 역시 50% 정답이군요!
닫혀진 소스코드 열어서 실행해보세요! 2012.03.28 09:25 신고 -
taehwan 오호! 기본적인 이론은 정말 잘 알고 있네요? ㅎㅎ!! 그런데 ㅜㅜ 이 코드의 정답은 아니에요! 소스코드 실행해보면 이해할 수 있을거에요 2012.03.29 00:32 신고
-
KKK 이거 스택이랑 지역변수 관련있는거 맞나요? 2012.03.29 20:42
-
taehwan 네! 스택이랑 지역 변수 관련이 맞습니다. 2012.03.29 21:04 신고
-
감사합니다 덧글 엄청 빨리 다셨네요 --a
아무튼 다른글도 읽고 있는데 좋네요. 감사합니다. ^^ 2012.07.10 19:42 -
taehwan 블로그 읽어주셔서 감사합니다!^^ 2012.07.10 21:00 신고
-
taehwan 말씀하신대로 스택에서 사라져야 합니다.
그런데 C언어에서는 실제 스택에서 사라지지 않고, 단순히 이제 메모리를 사용 할 수 있다라고만 전달합니다. 이렇기에 func2 함수를 다시 만들고, 호출 하더라도 main 함수에서 t를 출력하면 쓰레기값이 아닌 정상적인 값이 나옵니다.
func1 만 실행하더라도 정상적으로 쓰레기 값이 출력되는게 아닌 1234가 출력됩니다. 이유는 스택사용의 문제 때문입니다. 2012.07.10 19:26 신고
Blog is powered by
Tistory / Designed by
Tistory