
공용체 동일한 저장 장소에 여러 데이터 타입을 저장하는 자료구조 멤버들이 메모리를 공유해서 사용하는 기법 공용체의 크기는 공요체의 멤버 중 가장 크기가 큰 멤버에 의해 결정 공용체 변수를 초기화할 때는 첫 번째 멤버의 초기값만 지정 공용체의 멤버에 접근할 때도 ','와 '->' 연산자를 사용함 union 공용체명 { 멤버; 멤버; }; 비트필드 구조체가 가진 멤버를 비트 단위로 사용한다. 비트 필드의 정의 : 멤버이름 + : + 비트 수를 기술한다. 메모리에 할당할 때, 첫 번째 멤버를 최하위 비트에서부터 할당한다. 비트필드의 멤버에 표현 가능한 범위 밖의 값을 저장하면 오버플로우가 발생한다. 비트필드를 정희할 때는 중간에 일부 비트를 비워두고 멤버를 특정 비트에 할당할 수 있다. 열거체 열거체는 정수형..

포인터로 배열 참조 배열명 : 배열의 시작 주소를 의미하는 상수 포인터로 배열 참조 1. 배열의 시작 주소를 구할 때는 & 없이 배열명만 사용 2. 배열명을 포인터 처럼 사용 가능 3. *(arr+i)는 arr[i]를 의미 4. 배열의 시작 주소를 초기화된 포인터를 이용해서 배열의 모든 원소에 접근 가능 5. 포인터 변수를 배열 이름인 것처럼 사용 가능 6. 포인터와 +, - 연산 2차원 배열 1. 배열을 이차원 형태로 확장 2. 2차원은 index가 2개 3. index의 수가 배열의 차수 4. 형식 : 데이터 타입 배열명 [행 크기][열 크기] 5. 프로그래머는 2차원 형태이나 컴퓨터는 일차원 구조 3차원 배열 1. 필요에 따라 다차원 배열 선언이 가능 2. 데이터 타입 배열명 [면][행][열] 3...

포인터 이해 포인터 : 다른 변수의 주소를 저장하는 변수 포인터의 선언 : 데이터형*변수명이 필요함 예) int * p; 포인터의 사용 : 변수의 주소를 구할 때는 주소 구하기 연산자 &를 이용하고, 포인터가 가리키는 변수에 접근할 때는 간접 참조 연산자 *를 이용함 예) int *p = &x; *p = 10; 포인터 이용 포인터 사용 시 주의사항 - 포인터 변수는 포인터가 가리키는 변수의 데이터형과 일치하도록 선언해야 함 - 잘못된 포인터를 사용하는 것은 위험하므로, 포인터가 가리키는 변수가 없을 때는 NULL을 저장함

문자열 : 연속 된 문자들의 모임 1. 문자열은 큰 따옴표(" ")로 표현함 2. 문자열의 끝에는 널 문자 ('역슬래시 0')를 저장함 문자들의 집합인 문자열을 처리하는 방법이다. 선언 : 문자 배열의 크기는 저장할 문자 수 +1 크기로 지정 초기화 : " " 문자를 대입 연산자에 이용 문자열 선언과 초기화 => "Hello"를 저장 char a[6] = "Hello"; a[0] = 'H'; a[1] = 'e'; a[2] = 'I'; a[3] = 'I'; a[4] = 'o'; a[5] = '\0'; 문자열 선언과 초기화 배열 크기 - 1개의 문자를 초기화 가능 char a[10] = "Hello"; char b[12] = "Hello World"; char c [] = "Hello"; char d[4] ..

요약 선언과 초기화 배열 : 같은 데이터형의 변수들을 메모리에 연속적으로 할당하고 같은 이름으로 사용하는 자료 구조 배열의 선언 1. 배열 원소의 데이터형, 배열 이흠, 배열의 크기가 필요함 2. 배열의 크기는 상수로만 지정함 배열의 사용 1. 배열을 각 원소에 적급하려면 인덱스를 사용함 2. 인덱스는 항상 0~(배열의 크기-1) 사이의 값임 배열의 초기화 1. 배열의 초기화하려면 {} 안에 초기값을 나열함 2. 배열을 초기화할 때는 배열의 크기를 생략할 수 있음 다차원 배열 1. 필요 시 2차원 이상의 배열 형태를 구현하는 것이 가능함 2. 실제 메모리 구조는 인접한 메모리의 연속임