Loading [MathJax]/jax/output/CommonHTML/jax.js
[C언어] 문자와 문자열
프로그래밍 언어/C2024. 7. 14. 18:00[C언어] 문자와 문자열

프로그래밍에서 다루는 자료의 대부분은 수치 데이터 또는 문자와 문자열이다. 그 중에서 문자와 문자열에 대해 다뤄보자.  문자character단일 글자를 나타내며 작은따옴표single quote로 둘러싼다.예: 'a', '가'C언어에서는 char 자료형으로 표현되며 일반적으로 1바이트의 저장 공간을 차지한다. 작은따옴표로 표기된 문자를 문자 상수라고 한다.char ch = 'A';  문자열string문자의 모임인 일련의 문자를 문자열string이라고 한다.문자열은 일련의 문자 앞 뒤를 큰따옴표double 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