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번은 실제 동작에서도 문제는 없지만, 굳이 저렇게 쓸 필요가 없는 코드로 보입니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)