본문 바로가기
[개발자 로드맵]/C

[C언어 코딩 도장 심사문제 답] 5.6_변수를 선언하고 값 할당하기

by Ramrider 2022. 7. 22.
728x90
반응형

1. 답

#include <stdio.h>

int main()
{
    int num1;

    int num2, num3;

    num1 = 10;
    num2 = 20;
    num3 = 30;

    printf("%d %d %d\n", num1, num2, num3);

    return 0;
}

2. 결과

실행결과

3. 정리

선언하고 바로 값을 대입하는 방식도 있겠고, 정답을 가는 방식은 다양할 것 같습니다.

그러나 이 문제에서 고민이 들었던 부분은 printf함수에서는 왜 &를 사용하지 않을까?라는 부분이었는데, 물론 printf함수가 &가 필요 없이 설계되어 작성되었기 때문이기도 하겠지만 좀 더 본질적인 질문이었습니다. 설계를 할 때 왜 &가 필요 없었을까라는 고민이었는데, 생각해보니 &자체가 필요가 없다고 생각이 들었습니다. &는 주소 연산자로 이 변수의 메모리에 무언가를 간접적으로 수정하는 느낌이지만, printf의 경우 그럴 필요도 없고 단순히 값만 복사해주는 것만으로도 충분하다고 생각이 들었습니다. 아직 명확하지는 않지만 그런 이유 때문에 &가 없이 설계되지 않았을까 싶었습니다.

4. 비고

 

코딩 도장: 사이트에 로그인

사이트의 강좌를 수강하고 학습 효과를 최대한 높이려면 회원 가입이 필요합니다. '회원 가입' 버튼을 클릭한 후 가입 정보를 입력합니다.입력한 이메일 주소로 확인 메일이 즉시 전송됩니다.이

dojang.io

 

728x90
반응형

댓글