unit 69 질문이요!
, 김 상섭님이 작성unit 69,1 함수 포인터 배열 사용하기에서
p.806에는 예시 가운데에
int (*fp)(int, int) = NULL; 이라고 되어 있는데
p.807에는 예시 밑에
int (*fp[4])(int, int);
이렇게 =NULL을 해주지 않는 이유가 무엇인가요!?
감사합니다.
Re: unit 69 질문이요!
, 김 상섭님이 작성그렇다면
int (*fp)(int, int)
int (*fp[4])(int, int)
두 개 모두 = NULL; 을 쓰나 안쓰나 C언어 표준법칙에는 어긋나지 않는 것인가요??
감사합니다.
Re: unit 69 질문이요!
, 도장_ 관리자님이 작성선언과 동시에 초기화하는 것이 좋은 관례이지만, 표준에서는 이를 강제하지 않습니다.
int a; // 문제 없음. 그러나 바람직한 코딩 관례는 아님.
int a = 0; // 당장 쓰지 않아도 기본값 0으로 초기화하는 것은 좋은 코딩 관례임
포인터는 당장 할당하지 않는다면 NULL로 초기화하는 것이 좋은 관례입니다.
입문서 예제는 내용의 핵심만 간결하게 제시하는 게 목표라서 이런 부분을 생략하는 경우가 흔히 있습니다.