Language/C

·Language/C
1. 공용체구조체와 유사한 데이터 타입이지만 공용체의 모든 멤버가 메모리의 같은 위치를 공유한다.따라서, 공용체의 크기가 가장 큰 멤버의 크기와 동일하며, 하나의 멤버만 저장하거나 접근할 수 있다.1.1 기본 구조union 키워드를 사용하여 선언한다.해당 코드에서는 str[20]이 가장 크므로 Data라는 공용체의 크기는 20Byte 이다.union Data { int i; float f; char str[20];};// 변수 선언 ( 구조체와 유사 )union Data data;data.i = 10;data.f = 220.5;printf("data.f: %f\\n", data.f); 2. 열거형상수를 더 읽기 쉽게 정의할 수 있게 해주는 데이터 탑이다.enum 키워드를 사용하여 정의된다..
·Language/C
1. 구조체란?구조체는 여러 개의 변수를 하나의 이름으로 묶어서 사용할 수 있게 해주는 데이터 구조이다.서로 다른 타입의 변수들을 묶어서 하나의 높은 수준의 데이터 타입으로 다룰 수 있으며, 이는 데이터를 구조화하는 데 있어서 매우 유용하다. 2. 구조체 선언구조체는 메모리상에 구조체 멤버들의 자료형의 byte합과 같다.구조체 이름은 구조체와 구조체를 구별하기 위해서 붙여지는 이름이다.구조체 멤버는 아직 변수가 선언된 것이 아니다.// 기본 구조 struct 구조체명 { 자료형 멤버명; 자료형 멤버명; ...};// 예시 struct Student { char name[50]; int age; float grade;}; 3. 구조체 변수 선언 및 초기화구조체를 정의한 후,..
·Language/C
1. 동적 메모리 할당동적 메모리 할당은 프로그램 실행 중에 필요한 메모리의 양을 결정하고 할당하는 과정을 말한다.stdlib.h 헤더 파일에 정의된 함수를 통해 동적 메모리 관리를 할 수 있다. 1.1 주의사항할당된 메모리는 사용 전 반드시 초기화를 해야한다.메모리 사용이 끝나면 반드시 free( ) 함수를 사용하여 해제해야 한다. 2. malloc( ) 함수 (memory allocation)malloc은 동적 메모리 할당을 위해서 사용되는 함수이다.2.1 malloc 함수 사용법2.1.1 size할당받고자 하는 메모리의 크기를 바이트 단위로 지정 2.1.2 mlloc할당된 메모리 블록의 첫 번째 바이트를 가리키는 void 포인터 반환void *malloc(size_t size);#include #i..
·Language/C
1. 포인터포인터는 메모리의 주소를 저장하는 변수이다. 즉, 다른 변수가 메모리 상에 위치한 곳을 가리키는 것이다. 1.1 포인터 선언 ( * )포인터는 포인터가 가리킬 변수의 자료형을 명시하고 이름 앞에 * 기호를 붙여서 포인터임을 나타낸다.자료형 *포인터변수명;// 예시 int* pi; // int형 포인터 pi가 선언됨  1.2 주소 연산자 ( & )변수 앞에 & 기호를 붙이면 해당 변수의 메모리 주소를 얻을 수 있고, 메모리 주소는 포인터 변수에 저장된다.int i = 10;int *pi= &i; // i의 메모리 주소를 pi에 저장 1.3 간접 참조 연산자 ( * )포인터 앞에 * 기호를 붙이면 포인터가 가리키는 메모리 주소의 값을 접근할 수 있다.int i = 10;int* pi = &i;p..
·Language/C
1. 문자열C언어에서 문자열은 문자의 배열로 표현되며, 종료 문자인 NULL 문자(\0)로 끝나야 한다. 2. 문자열 선언문자열을 선언하는 가장 기본적인 방법은 배열을 사용하는 것이다.배열의 크기는 문자열의 길이보다 하나 더 커야 한다.char str[6] = ["hello"]; 3. 문자열 선언과 초기화3.1 문자열 선언3.1.1 문자 배열을 사용한 선언5개의 문자와 마지막에 추가되는 NULL 문자를 저장할 수 있는 배열이다.char str[6] = "hello"; 3.1.2 포인터를 사용한 선언포인터를 사용하여 문자열을 선언하면 일반적으로 수정할 수 없는 메모리에 위치함으로 변경이 불가능하다.char *str = "hello"; 3.2 문자열 초기화3.2.1 초기 선언 시 문자열 상수를 사용하여 초기..
·Language/C
1. 배열배열은 연속적 메모리 위치에 저장된 변수들의 집합이다.배열을 사용하면 같은 데이터 타입의 변수들을 관리할 수 있다.1.1 배열의 선언데이터타입: 배열에 저장될 데이터 타입 지정배열이름: 배열의 이름배열크기: 배열에 저장할 수 있는 요소의 개수 (상수)// 기본 구조 데이터타입 배열이름[배열크기];// 예시 int numbers[5]; // 5개의 정수를 저장할 수 있는 배열char name[50]; // 50개의 문자를 저장할 수 있는 배열float scores[10]; // 10개의 실수를 저장할 수 있는 배열 1.2 배열의 초기화배열은 선언과 동시에 특정 값으로 초기화할 수 있다.배열 크기를 비워놓으면 초기화할 때 요소 개수만큼 크기가 자동 할당된다.// 기본 구조 데이터타입 배열이름[배열크..
·Language/C
1. 함수함수는 특정 작업을 수행하는 코드 블록이며, 코드의 재사용성을 높이고 프로그램의 구조를 개선하기 위해 사용 2. 함수의 기본 구조2.1 반환 타입함수가 실행 완료 후 반환하는 데이터 타입을 지정한다. 2.2 함수 이름함수를 호출할 때 사용하는 이름이다. ( 함수의 특성을 잘 나타내는 것으로 하는것이 좋음 ) 2.3 매개변수 리스트함수에 전달하는 입력값의 목록이다. 여러 매개변수가 있으면 , 으로 구분한다. 2.4 함수 본체함수가 호출될 때 실행할 코드 블록이다. 2.5 return함수의 실행 결과를 호출한 곳으로 반환하는 명령어이다.// 기본 구조 반환타입 함수이름(매개변수 리스트) { // 함수 본체 // 실행 코드 return 반환값;}// 예시 #include // 함수 선..
·Language/C
1. 반복문특정 조건이 만족하는 동안 코드 블록을 반환하여 실행하는 구조이다.for, while, do…while 세 가지 반복문을 제공한다. 2. for 반복문for 반복문은 반복 횟수가 명확할 때 사용하기 좋다.초기화, 조건 검사, 증감식을 사용하여 표현한다.초기화: 반복문이 시작될 때 한 번 실행되며, 제어 변수를 초기화할 때 사용조건: 조건이 참으로 평가될 때까지 반복문 내의 코드 블럭이 반복해서 실행증감: 코드 블럭 실행 후 실행되며, 제어 변수의 값을 증감시킬 때 사용된다.// 기본 구조for (초기화; 조건; 증감) { // 반복 실행할 코드}// 예시 for (int i = 0; i  3. while 반복문주어진 조건이 참인 동안 코드 블록을 반복해서 실행한다.3.1 기본 구조반복문 ..
·Language/C
1. 조건문조건문은 프로그램의 흐름을 제어하는 도구이다.조건에 따라 다른 코드 블록을 실행할 수 있도록 한다. 보통 if조건문과 switch 조건문이 있다. 2. if 조건문if 조건문은 주어진 조건이 참이면 코드 블록을 실행한다.C에서 블록은 { } 중괄호를 사용해서 지정한다. 2.1 if// 기본 구조 if (조건) { // 조건이 참일 때 실행될 코드}// 예시 int number = 10;if (number > 5) { printf("The number is greater than 5.\\n");} 2.2 if…elseif 조건문에 else를 추가하면, 조건이 거짓일 경우 실행될 코드 블록을 정의할 수 있다.// 기본 구조 if (조건) { // 조건이 참일 때 실행될 코드} el..
스우스우03
'Language/C' 카테고리의 글 목록