Language/C10 typedef, enum, union typedef type define의 줄임말로 새로운 type을 define 정의한다. 사용자 정의 타입이라고 불리며, 즉, 기본 자료형을 확장시키는 역할을 하며, 별명을 붙여주는 것으로 이해해도 좋다. 이런 typedef를 사용하면 복잡한 데이터 형식도 새로운 자료형으로 만들 수 있다. 사용법은 아래와 같다. typedef 진짜자료형 별명 예) typedef int INT typedef는 특히 struct 구조체에서 유용하게 사용되는데, 다음의 예시를 이해하면 도움이 될 것이다. #define _CRT_SECURE_NO_WARNINGS #include #include #include struct point { char a; int b; double c; } int main(void) { struct p.. 2023. 11. 5. 컴파일과 디버깅 코드를 컴퓨터가 알아들을 수 있도록 기계어로 변환해야 하는데, 이 과정을 컴파일이라고 한다. 그리고 컴파일을 수행하는 명령은 다음과 같다. $ gcc -g -o hello(실행파일명) hello.c(소스파일명) 또한 자주 사용되는 컴파일 옵션은 다음과 같다. -g : gdb 디버깅 정보 포함 -I : include 경로 -Wall : all warning enable -O : optimization for code ( = -O1 ) 그럼 서론은 여기까지로 하고, 이제 GCC 컴파일러의 개념과 그 확장 개념에 대해서 조금 더 자세히 알아보자. GCC 컴파일러 GCC는 GNU 컴파일 모음(GNU Compiler Collection)의 약자이다. GNU 프로젝트의 일환으로 개발되어서 널리 쓰이고 있는 컴파일러.. 2023. 11. 2. 포인터 데이터의 주소값이란 해당 데이터가 저장된 메모리의 시작 주소를 의미한다. 그리고 C언어에서는 이러한 주소값을 1바이트 크기의 메모리 공간으로 나누어 표현한다. 여기서 알아야할 점은 int형 데이터는 4바이트의 크기를 가지지만 int형 데이터의 주소값은 시작 주소 1바이트만을 가리킨다는 것이다. 그리고 C언어에서 포인터란 메모리의 주소값을 저장하는 변수이며, 포인터 변수라고도 부른다. 즉, char형 변수가 문자를 저장하고, int형 변수가 정수를 저장하는 것처럼 포인터는 주소값을 저장한다. int n = 100; // 변수 선언 int *ptr = &n; // 포인터 선언 C언어에서 포인터와 연관되어 사용되는 연산자는 주소 연산자(&), 참조 연산자(*)가 있다. 주소 연산자(&)는 변수의 이름 앞에 사.. 2023. 10. 27. 헤더 파일 보통 소스 파일 맨 윗줄에 표기함으로써 해당 헤더파일에 들어있는 요소를 사용할 수 있게한다. #include #include "상대 경로 헤더 이름" stdio.h StandardInputOutput. 표준 입출력 time.h 시간 관련 부분함수 구조체를 담고있는 헤더로 시간관련 부분을 불러오거나 사용할 때 사용한다. math.h 지수함수, 로그함수, 삼각함수, 거듭제곱 등 수학 관련 함수가 들어가 있다. stdilb.h 문자열 변환, 의사 난수 생성, 동적 메모리 관리 등의 함수들을 포함하고 있다. 주로 프로그램 제어 관련 함수가 들어가 있다. 동적 메모리 할당 함수인 malloc, calloc 함수도 이 헤더에 포함되어 있으며, 시스템 명령어나 프로세스 제어 함수도 포함되어 있다. stdlib.h 더.. 2023. 9. 28. 이전 1 2 다음