[C언어] 문자와 문자열
프로그래밍 언어/C2024. 7. 14. 18:00[C언어] 문자와 문자열

프로그래밍에서 다루는 자료의 대부분은 수치 데이터 또는 문자와 문자열이다. 그 중에서 문자와 문자열에 대해 다뤄보자.  문자$_{character}$단일 글자를 나타내며 작은따옴표$_{single \space quote}$로 둘러싼다.예: 'a', '가'C언어에서는 char 자료형으로 표현되며 일반적으로 1바이트의 저장 공간을 차지한다. 작은따옴표로 표기된 문자를 문자 상수라고 한다.char ch = 'A';  문자열$_{string}$문자의 모임인 일련의 문자를 문자열$_{string}$이라고 한다.문자열은 일련의 문자 앞 뒤를 큰따옴표$_{double \space quote}$로 둘러싼다.예: "Java", "Python"char str1[] = "Hello"; // 컴파일러가 자동으로 크기 결정 ..

[C언어] union으로 공용체 정의하기
프로그래밍 언어/C2023. 4. 14. 23:37[C언어] union으로 공용체 정의하기

공용체$_{Union}$는 서로 다른 자료형의 값을 동일한 메모리 공간에 저장하는 사용자 정의 자료형이다. 구조체$_{struct}$와 선언 방식이 유사하지만, 모든 멤버가 같은 메모리 영역을 공유한다는 점에서 차이가 있다. Union 선언공용체를 선언하기 위해서는 union 키워드를 사용한다. 선언 방식은 구조체와 유사하다.union myUnion { int i; float f; char str[20];};이 예제에서 Data라는 이름의 공용체를 선언했다. 이 공용체는 정수형 i, 실수형 f, 문자열 str을 멤버로 가진다. 특징공용체 변수의 크기는 멤버 중 가장 큰 자료형의 크기로 정해진다. 위 예제에서는 가장 큰 myUnion의 변수 str 멤버가 20바이트 저장공간을 세 멤버가 함..

[C언어] typedef로 자료형 재정의하기
프로그래밍 언어/C2023. 4. 14. 23:24[C언어] typedef로 자료형 재정의하기

typedef는 기존 자료형에 새로운 이름을 부여해 재정의할 수 있게 하는 C언어의 키워드이다. 프로그램의 가독성을 높이고 시스템 간 호환성을 개선하기 위한 용도로 사용된다. typedef int x; // x를 int와 동일한 자료형으로 정의 아래와 같이 복잡한 자료형에 의미있는 이름을 부여할 수 있다.typedef unsigned long long int uint64; 시스템에 따라 자료형의 크기가 다를 수 있으므로 프로그램의 시스템 간 호환성을 위해 typedef로 추상화할 수 있다.#ifdef _WIN32typedef int int32_t;#elsetypedef long int32_t;endif  구조체 자료형 재정의구조체와 typedef를 함께 사용해서 간결하고 가독성 있게 만들 수 있다.typ..

[C언어] struct로 구조체 정의하기
프로그래밍 언어/C2023. 4. 14. 23:24[C언어] struct로 구조체 정의하기

구조체는 C 언어에서 서로 다른 데이터 타입을 하나로 묶어 새로운 사용자 정의 데이터 타입을 생성하는 방법이다. 정수, 문자, 실수, 포인터 등 다양한 기본 데이터 타입을 조합하여 복잡한 데이터 구조를 표현할 수 있다.  struct 정의struct를 정의하려면 struct 키워드 뒤에 이름과 구조체를 구성하는 다른 데이터 유형의 변수가 포함된 중괄호를 사용한다.struct 구조체이름 { 멤버변수1의_타입 멤버변수1; 멤버변수2의_타입 멤버변수2; ...}; 예를 들어, 다음과 같이 person이라는 구조체를 정의할 수 있다.struct person { char name[50]; // 이름 int age; // 나이 float height; // 키}; 위 예제에서는 세..

[C언어] 배열 포인터와 포인터 배열
프로그래밍 언어/C2023. 4. 14. 23:20[C언어] 배열 포인터와 포인터 배열

포인터 배열 (Pointer array) 포인터 배열은 포인터를 원소로 갖는 배열입니다. 이 배열은 포인터를 여러 개 저장할 수 있으며, 각 포인터는 서로 다른 변수나 객체를 가리킬 수 있습니다. int *ptr_array[10]; 위 코드에서 ptr_array는 포인터를 10개 저장하는 배열입니다. 각 원소는 int 형식의 변수를 가리킵니다. 배열 포인터 (Array pointer) 배열 포인터는 배열을 가리키는 포인터입니다. 즉, 배열의 주소를 저장하고 있습니다. int (*ptr_array)[10]; 위의 코드에서 ptr_array는 정수형 배열을 가리키는 포인터입니다. 이 배열에는 10개의 정수형 원소가 포함되어 있습니다.

[C언어] 배열 파라미터와 포인터 파라미터의 차이점
프로그래밍 언어/C2023. 4. 14. 13:13[C언어] 배열 파라미터와 포인터 파라미터의 차이점

C 언어에서는 배열을 함수에 전달하는 두 가지 방법이 있습니다. 배열 파라미터를 사용하거나 포인터 파라미터를 사용할 수 있습니다. 두 방법 모두 배열을 전달하고 비슷한 결과를 얻을 수 있지만 차이점이 있습니다. 배열 파라미터 배열이 파라미터로 전달될 때 실제로는 reference로 전달됩니다. 이는 함수가 원래 배열에 대한 포인터를 받아들인다는 것을 의미합니다. 함수 내에서 배열 값을 변경하면 원래 배열에도 똑같이 변경됩니다. void func(int arr[], int size) { for(int i = 0; i < size; i++) { arr[i] = i * 5; } } int main() { int arr[5] = {1, 2, 3, 4, 5}; func(arr, 5); // arr = { 0, 5..

728x90
image