10-5 변수와 상수 자료형 (C)

airbus·2025년 3월 28일

프로그래머스

목록 보기
45/93

10-5 변수와 상수 자료형 (C)

프로그래밍

프로그램을 만드는 과정

프로그래밍 개발의 3단계
1. 구상
2. 설계
3. 구현

프로그래밍 언어란

  • 언어란 사람과 사람간의 통신 수단
  • 컴퓨터 언어란 사람과 컴퓨터 간의 통신 수단

프로그래밍 언어의 종류

  • 저급 언어(기계 중심)
    e.g. 기게어, 어셈블리어
  • 고급 언어(인간 중심)
    e.g. C, C++, JAVA, JS, ...

작성과정

  • 설계
    • 머리속으로 구상한 것을 기록하는 것
    • 요리의 레시피를 만드는 작업
  • 원시코드 작성
    • 머리속으로 구상한 것을 작성하는 것
    • 요리의 레시피대로 요리하는 과정
  • 컴파일
    • 원시코드는 사람이 이해하는 언어이지 컴퓨터 언어가 아님
    • 컴파일은 소스코드를 이진코드로 변환하는 과정, 즉, 컴퓨터가 이해할 수 있는 언어로 변환
  • 링크
    • 싫행파일을 만드는 과정

변수

변수란 무엇인가

  • 변경이 가능한 수
  • 변수에는 어떤 값이 들어갈지 예측할 수 없음

변수를 사용하는 이유

  • 메모리 상에 올라가 있는 수많은 데이터를 구분할 수 있나?
  • 메모리의 주소값을 사람이 일일히 다 기억할 수 있나?
  • 주소값을 기억하기보다는 의미있는 이름을 기억하는 것이 쉽다.
  • 사용할 메모리 공간에 이름을 부여한 것이 변수이다.
  • 강남구 OO로 OO번지의 집 보다는 A의 집으로 기억하는 것.

메모리 영역

  • 코드 영역 : 실행 명령어들 저장
  • 스택 영역 : 지역변수 및 매개변수 저장
  • 힙 영역 : 프로그래머가 직접 저장
  • 데이터 영역 : 전역변수, static 변수 저장

콜스택 메모리의 적용

  • 우리가 지금껏 사용한 지역변수 및 매개변수 등은 모두 스택 메모리를 사용
  • 이러한 지역변수 및 매개변수는 다음과 같은 구조로 저장된다.
C
void Test (int a) {
	char b ='a';
    int c = 1;
    double d = 1.23
}

=>
 Test 함수 호출시 메모리에 
 
 d 8바이트
---------
 c 4바이트
---------
 b 1바이트
---------
 a 4바이트
---------
 처럼 a 부터 d 까지 층층이 쌓이는 형식으로 메모리에 올라가고
 함수 종료시 d, c, b, a 순서대로 가장 나중에 올라간 메모리 부터 제거된다

자료형

자료형크기데이터 표현범위
정수형char1 Byte-128 ~ 127
short2 Byte-32768 ~ 32767
int4 Byte-2147493648 ~ 2147483647
long4 Byte-2147493648 ~ 2147483647
실수형float4 Byte3.4E +/- 38
double8 Byte1.7E +/- 308
long double10 ~ 16 Byte1.7E +/- 308

보다 자세한 값의 범위는 microsoft 데이터 범위 참고 링크

다양한 자료형이 있는 이유
효율적인 메모리 공간을 활용하기 위해서

컴퓨터에서의 문자
숫자만 인식하는 컴퓨터는 문자를 표현하기 위해 특정 숫자와 특정 문자를 대응 시키는 방법을 사용한다.
= 아스키코드 표준 사용


상수

상수란 무엇인가

  • 상수는 변하지 않는 수를 의미한다.
  • 메모리 공간에 수가 존재하지만 그 값을 변경할 수 없다.

상수의 사용
변경될 필요가 없는 변수(값)은 항상 상수로 선언하는것이 권장됩니다.
변수 선언시 const 키워드를 사용하면, 상수화 됩니다.
선언과 동시에 초기화를 해야합니다. (값 변경불가)

  • 코드의 가독성을 높입니다. 의미의 (명확성)
  • 값이 실수로 변경되는 경우를 방지합니다. (무결성 유지)
  • 여러곳에서 사용하더라도 해당 상수 한개만을 수정하면 되므로 유지보수가 쉽습니다. (용이성)
    기타 : 다중 스레드 환경에서 상수는 변경되지 않습니다. = 동기화 문제가 발생할 위험이 적음

0개의 댓글