실수 자료형 (float) : 소수점수 데이터를 저장할 수 있는 자료형
c언어에서는 실수 자료형에 대응하는 변수 타입이 있다.
이를 float 라고 하며
변수나 함수의 타입 앞쪽에 작성하여
실수형 변수나 함수를 만들 수 있다.
int 자료형 : 소수점수를 제외한 정수 형태의 데이터를 저장할 수 있는 저장공간
float 자료형 : printf 를 활용해 출력하기 위해서는 %f 라는 변환 문자를 활용
형변환 (Type-casting)
각각의 int, float 자료형을 다른 자료형으로 바꾸는 것
서로 다른 데이터 형태를 바꿔서 일치시켜주는 것
float와 int는 서로 다른 데이터 형태이며 이 자료형은 데이터 구조 또한 다른 형태를 갖고 있다.
램 메모리에 들어 있는 데이터 자체가 완전히 다르며,
이 데이터는 본래 서로 다른 데이터이기 때문에 덧셈 뺄셈 등의 연산을 할 수 없다.
하지만 이를 가능하게 해주는 것이 형변환
형변환을 통해 한쪽의 데이터를 다른 데이터와 동일하게 맞춰주고 그 뒤에 연산을 하는 것
변수 = (float)변수;
ex)
#include <cstdio>
int main(){
int number1 = 10;
int number2 = 4;
float result = (float)number1 / number2;
printf("%f", result);
return 0;
}
암묵적 형변환 Implicit
프로그래머가 명시하지 않아도
언어 자체에서 알아서 형변환을 자동으로 해주는 것
float 는 int 보다 더 큰 자료형이다.
따라서 int 자료형의 값이 float 라는 자료형에 들어갈 때에는 값의 소실이 '발생할 수' 도 있다.
발생할 수 있지만 발생하지 않을수도 있다. 강제로 형변환을 해야할 수 있음
명시적 형변환 Explicit
프로그래머가 명시하지 않으면 오류를 만들어 내는 것
언어 자체에서 기술적으로 불가능한 게 아니라
경고의 의미를 내포하고 있음
구조체 (struct) : 변수의 집합이라고 말할 수 있는 형태
변수를 한데 묶어서 관리해줄 수 있는 일종의 변수의 집합
변수를 묶어놓고 하나의 집합을 만들고 이 집합을 하나의 변수타입처럼 사용해서
마치 이걸 또 다시 변수처럼 활용할 수 있게 만들어주는 것
구조체는 당연히 배열로도 사용 가능
이 구조체의 이름을 짓는 방법 또한 함수나 변수의 이름을 짓는 방법과 유사
c/ c++ 에서 어떤 이름을 지을 때에는 항상 같은 이름짓기 규칙이 사용됨
하지만 구조체의 이름은 대부분 '대문자'로 시작하는 영문자로 만드는 게 암묵적인 프로그래머들끼리의 룰
ex)
#include <cstdio>
struct Marine {
int hp;
int atk;
int def; //int 변수명; 를 멤버 변수라고 한다.
};
int main() {
Marine m; //이 Marine이라는 structure 변수는 한꺼번에 이 세개의 변수를 한꺼번에 갖고있다. 각각의 멤버변수에 접근 간으
m.atk = 6;
m.hp = 40;
m.def = 0;
Marine m2;
m2.atk = 6;
m2.hp = 40 - 5;
m2.def = 1;
return 0;
}
'C언어' 카테고리의 다른 글
심화 C 언어 2 (각종 변수형 - 모든 코딩에서 찾아볼 수 있는 '기본 자료형') (0) | 2021.07.27 |
---|---|
c언어 6 (헤더파일 / 소스파일) (0) | 2021.07.26 |
c언어 4 (배열 / 다차원 배열) (0) | 2021.07.08 |
c언어 3 (중첩 반복 / 제어 - 반복문에 대한 제어) (0) | 2021.07.01 |
c언어 2 (조건문, 반복문) (0) | 2021.07.01 |