|  |
| |
| /x7375696e6567 |
#include <stdio.h>
int main() {
func();
}
void func() {
printf("hello \n");
}
랑
#include <stdio.h>
void func() {
printf("hello \n");
}
int main() {
func();
}
이거랑
같은 이유랑 비슷한거 아닐까요 |
2011/04/09 |
|
| ldshyun3 |
관심주셔서 감사드립니다^^;
예제주신 첫번째 소스내용에서 함수원형선언이 먼저와야할것같고요.
두번째소스내용은 함수원형선언을 안할시에 쓰이는 내용같습니다.
==============
#include <stdio.h>
void func(); <- 함수정의가 아래에있어서 컴파일러에게 원형선언으로 귀뜸해주지않을까싶네요.
int main() {
func();
}
void func() {
printf("hello \n");
}
랑
#include <stdio.h>
void func() <-함수를 미리 정의한상태인듯하네요.이럴땐 함수원형선언이 필요없겠죠.
{
printf("hello \n");
}
int main() {
func();
} |
2011/04/09 |
|
| Prox |
답글로 올려논글도 한번 읽어보세요 ㅎ |
2011/04/09 |
|
| ldshyun3 |
구조체 정의가 이루어져야 구조체사용자 정의타입이 만들어지는걸로 아는데요..
위경우는 첫번째구조체에서 컴파일러가 분명 struct two_b* 타입을 어찌인식할수있느냐가
제궁금증입니다. 컴파일타임에서 첫번째구조체정의가 이루어지는 상태라면
두번째구조체는 아직 인식하지못하는 영역인것같은데말이죠..
이클립스로 struct two_b* b_2; //ok 이부분을 마우스로 같다대면
두번째 구조체를 가르키더라구요.. 디버그가 되지않은 상태에서말이죠..
점점 아리송해집니다..ㅠㅠ |
2011/04/09 |
|
| Prox |
이클립스의 경우, 텍스트에디터의 성격도 가지기 때문에
선언순서에 관계없이 자유로운처리가 가능한거같고요 (에디터는 절차지향을 따를필요가 없지요)
컴파일 타임엔 아마 제답변에 따라 동작할듯 싶네요 ㅎㅎ |
2011/04/10 |
|