C언어 구조체 포인터 변수 초기화 관련 질문드립니다.
조회수 1655회
안녕하세요.
아래와 같이 1번~3번까지 소스코드가 있는데요.
1번과 2번중에서 어떤 방식으로 초기화 하는게 더 좋은방법인가요?
그리고 3번과 같이 중복(?)으로 초기화를 하는경우 빌드에서는 오류가 없는데, 소스코드 상에서는 잘못된 코드인가요?
1.구조체 포인터 선언 후 초기화
int main
{
struct Person p1;
struct Person *ptr;
ptr = &p1;
}
2.구조체 포인터 선언과 동시에 초기화.
int main
{
struct Person p1;
struct Person *ptr = &p1;
}
3.중복(?) 초기화
int main
{
struct Person p1;
struct Person *ptr = &p1;
ptr = &p1;
}
감사합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
2번 방식으로 초기화 하는 것이 가독성 및 (아주 미세한 차이의)성능에 좋습니다. 3번은 실제 동작에서도 문제는 없지만, 굳이 저렇게 쓸 필요가 없는 코드로 보입니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력