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

[C언어 코딩 도장 심사문제 답] 35.7_두 정수의 합 구하기

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

1. 답

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num1;
    int num2;

    int* numPtr1 = malloc(sizeof(int));
    int* numPtr2 = malloc(sizeof(int));

    scanf("%d %d", &num1, &num2);

    *numPtr1 = num1;
    *numPtr2 = num2;

    printf("%d\n", *numPtr1 + *numPtr2);

    free(numPtr1);
    free(numPtr2);

    return 0;
}

2. 결과

실행 결과

3. 정리

동적 할당 malloc함수의 사용법을 묻는 것인데, 이 함수를 이해하는 것이 중요한 것 같습니다. 일단 malloc함수를 사용하고 free를 통해 할당을 끝내는 것은 기본 습관처럼 지녀야 한다고 배웠고, int* numPtr1 = malloc(sizeof(int)); 부분에 대해서 조금 더 설명을 보충해보겠습니다. malloc함수를 통해 동적 할당을 진행했다는 것은 numPtr1이 어딘가를 가리키는 메모리의 주소를 생성하겠다는 것이고 그 가리키는 주소의 메모리의 사이즈는 int 즉 4바이트입니다. 그 메모리 안에 자료를 역참 조해서 *numPtr1 = num1의 값을 넣고 printf함수를 통해 출력하는 문제였습니다.

4. 비고

 

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

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

dojang.io

728x90
반응형

댓글