
제가 대학교 1학년 때 C언어 수업에서 배운 내용을 교재와 ppt를 중심으로 정리한 내용입니다. (2022.3 ~ 2022.6)
당시에 공부를 위해서 HWP 파일로 정리해 놓은 것을 그대로 올립니다.
대학에 처음 들어와 정리한 내용이라 모든 내용을 담고 싶은 욕심에 정리가 많이 지져분하고 어설픈점 양해 부탁드립니다..!
1. 기본 데이터형 : c언어 자체에서 제공하는 데이터형.
ex) 문자형, 정수형, 실수형
2. 파생 데이터형 : 배열, 포인터처럼 기본형으로부터 파생된 데이터형
3. 사용자 정의형 : 구조체, 공용체, 열거체처럼 프로그래머에 의해서 만들어진 데이터형.
모든값에는 데이터형 존재.
데이터의 종류를 구분해서 사용할 수 있도록함.
데이터형(데이터종류)에 따라서 데이터를 저장하는 데 메모리가 얼마나 필요한지, 데이터를 어떤 방식으로 표현하고 저장하는지가 결정.
데이터형의 이진표현 : 컴퓨터 시스템에서 이진 데이터로 값을 표현하고 저장하는 방식.
c언어가 제공하는 데이터형의 크기는 플랫폼에 따라 다르다.
데이터형이나 어떤 값(임시저장), 변수의 바이트 크기를 구하기 위해서 size of 연산자를 이용.
signed나 unsigned를 함께 적어서 부호있는 정수형과 없는 정수형으로 사용가능. short (2byte)int (4bite)long (4bite)long long (8bite)char (1byte)‘’)%d나 %x를 이용한다. 부호있는 정수형의 경우에 최상위 비트를 부호 비트로 사용.
1 – 음수, 0 – 양수) 2의 보수를 사용하여 음수를 나타낸다. 0을 1로 1을 0으로 반전시키고 그 결과에 1을 더한다. 부호없는 정수형의 경우에는 최상위 비트를 값을 저장하는 용도로 사용.
정수연산 기준은 4byte이기 때문에 4byte보다 작은 값의 경우 4byte 공간에 전달하여 남은 공간은 음수는 1 양수는 0으로 채워지고 연산, 출력을 수행한다.
는 33개의 제어 문자들과 95개의 출력 가능한 문자들로 구성.
7bit만 필요하지만, 1byte를 기준으로 메모리를 관리하기에 1byte(8bit) 공간을 사용.: 출력할 수 없는 제어 문자나 문자열 안에서 특별히 표기해야 하는 문자를 나타내는데 사용. ‘’안에 역슬래시(\)와 정해진 문자로 표현한다.
‘\’ 다음에 아스키 코드값을 8진수로 적어주거나 ‘\x’ 다음에 16진수로 적어주는 것.
‘\n’ : 줄바꿈‘\0’ : 널 문자‘\t’ : 수평 탭‘\“’ : 큰따옴표‘\\’ : 역슬래시float (4byte)double (8byte)long double (8byte)%f → 부동소수점 방식%edouble 형을 사용하는 것이 좋다.: 값을 변경할 수 있는 데이터
: 변수를 사용하기 위해(메모리 공간을 확보하기 위해) 컴파일러에게 변수의 데이터형과 변수 이름을 알려주는 것.
컴파일러는 변수의 데이터형에 따라 메모리 공간을 얼마나 사용할지 결정하고, 메모리를 주소 대신 변수 이름으로 접근 가능하게함.
선언시에는 데이터형 다음에 변수 이름을 적어줌
같은 형의 변수를 여러개 선언할 때는 콤마 다음에 변수 이름을 나열
식별자 : 프로그래머가 만들어서 사용하는 이름.
식별자의 규칙
: 변수가 메모리에 할당될 때 값을 지정하는 것.
변수의 초기화는 변수 선언시에 변수 이름 다음에 = 과 초기값을 써줌으로써 해줌.
변수를 초기화 할때는 변수의 데이터형과 같은 형의 값으로 초기화 해주지 않으면 컴파일러는 데이터형에 맞추어서 값을 변환하여 초기화
변수를 초기화 하지 않으면 변수는 쓰레기 값을 가짐.
초기화 되지 않은 변수의 사용은 위험.(컴파일 에러 or 경고)
대입 : 변수에 값을 저장하는 것.
변수의 값을 읽어오거나 변경하려면 변수의 이름을 이용.
= 왼쪽에 변수이름을 적고, = 오른쪽에 값을 적어주면, =의 우변에 있는 값을 = 의 좌변에 있는 변수에 저장.
변수에 값을 저장하면 이전값은 사라지고 마지막에 저장한 값만 남아있게됨.
대입시에는 변수의 데이터형과 같은 형의 값을 대입해야 한다.
: 값을 변경할 수 없는 데이터. 변수 공간에 할당된 값을 변화하지 못하게 고정하는 의미로 사용.
: 소스코드에서 직접 사용되는 값
문자형 상수
int형임을 주의. ‘’ 안에 문자를 적어주거나 \와 함께 정해진 문자를 적어줌.정수형 상수
0x or 0X)0)u or U)l or L)ul or UL)실수형 상수
float형 실수0으로 간주.double 형 이기에 float형 상수를 나타내려면 f 나 F를 끝에 붙여야 한다.문자열 상수
”“ 안에 문자들을 적어줌.“x” 는 ‘x’ 와 ‘\0’ 이라는 두 개의 문자로 구성.: 이름이 있는 상수
메크로 상수 : define문으로 정의되는 상수
#define PI 3.14#으로 시작하는 문장은 전처리기 문장. const 변수 : 값을 변경할 수 없는 변수
const 라는 키워드를 적어줌 으로써 선언const 데이터형 변수명 = 초기값;const 변수의 값을 변경하면 컴파일 에러가 발생한다.