본문 바로가기

공부/C

C_식별자(Identifier)

선언(Declaration), 정의(Definition), 초기화(Initialize)

 

선언 - 무언가를 사용하겠다고 알리는것

정의 - 무언가를 어떤식으로 사용하겠다고 알리는 것

초기화 - 선언 및 정의와 동시에 초기값을 넣어주는 것

(초기 값을 넣어줄 때는 =(할당연산자,Assignment Operator)를 사용해서 넣어주면 된다)

Ex)

signed int a = 10;

signed int라는 자료형의 변수 a에 10이라는 값을넣어 초기화하겠다고 정의

 

 

 

식별자(Identifier)

가상 메모리 공간을 식별해주는 문법

 

식별자는 이름만 보더라도 무슨작업을 하는지 알 수 있겠금 의미있게 지어야 사용하기 편하다

 

동일한 블록 스코프 안에서는 식별자의 중복이 허용되지 않는다

 

 

 

식별자와 가상 메모리 공간

가상 메모리 공간은 1바이트 씩 구분

 

sum - int자료형 4바이트, 가상메모리 공간 4칸(4 Byte)차지

 

age - short자료형 2바이트, 가상메모리 공간 2칸(2 Byte)차지

 

averge - double자료형 8바이트, 가상메모리 공간 8칸(8 Byte)차지

 

ptrSum - Point자료형 4바이트, 가상메모리 공간 4칸(4 Byte)차지

 

식별자는 하나의 저장 공간 주소만 가리킬 수 있다

하나의 저장공간 을 가리키고 자료형의 읽어들이는 바이트 수를 참조하여 값을 추출 할 수 있음

Ex) sum은 90000000를 가리키고 이후 90000002까지 4 Byte만큼 읽어 들임

 

 

 

 

Big Endian, Little Endian

Big Endian - 저장 순서가 최상위 바이트부터 저장을 하는 형식

Little Endian - 저장 순서가 최하위 바이트 부터 저장을 하는 형식

 

32비트 크기의 정수

0x12345678

 

1바이트값 4개로 구성된다.

0x12, 0x34, 0x56, 0x78

 

 

BigEndian 방식

 

Little endian 방식

 

빅 엔디안, 리틀 엔디안 장단점(?)

빅 엔디안과 리틀 엔디안은 단지 저장해야 할 데이터를 어떤 방식으로 나누어 저장할까에 대한 차이 밖에 없다.

(둘 중 어느한 방식이 더 좋다고 이야기 할 수 없음)

 

하지만

물리적으로 데이터를 조작하거나 산술 연산을 수행할 때 - 리틀 엔디안 방식이 효율적

 

데이터의 각 바이트를 배열처럼 취급할 때 - 빅 엔디안 방식이 효율적

 

 

 

 

Void 자료형

void a;

이런식으로 사용하면 불완전한 형식(Incomplete Types)이라 오류가 발생함

컴파일러는 완전한 형식(Complete Types)일 때만 컴파일을 진행한다.

 

불완전한 형식(Incomplete Types)

- 식별자가 존재는 하지만 메모리 공간 크기에 대한 정보가 없을 때 를 의미

 

 

 

'공부 > C' 카테고리의 다른 글

C_자료형(Data Type)  (0) 2023.03.23
C_변수(Variable), 상수(Constant)  (0) 2023.03.20
C_이스케이프 시퀀스(Escape Sequences)  (0) 2023.03.17
C_주석(Comments)  (0) 2023.03.17
C_Main에 대해서  (0) 2023.03.16