본문 바로가기
728x90

C39

[C] 10-4 이중 포인터 이중 포인터 : Pointer to pointer : 자료가 있는 곳을 이중으로 가리키는 포인터 -이중 포인터가 가리키는 주소로 가보면 자료가 아닌 주소 값이 들어 있고, 그 주소에 자료가 들어 있음. 이중 포인터의 선언 -형식 : int **p; -의미 : 포인터 변수에 다시 포인터를 지정하는 것으로서, 포인터에 대한 포인터이다. 예시) P : 기억공간 주소 *p : 주소 P에 수록되어 있는 값. 이 값이 주소로 사용됨 **p : 주소가 *p인 곳에 수록되어 있는 값. 즉 int형 자료 예시2) 2024. 4. 22.
[C] 10-3 포인터 배열 포인터 배열 -> 포인터의 집합 : 포인터가 여러 개 사용될 때 포인터 배열로 선언 : 주로 문자열 배열 처리에 사용 포인터 배열 선언과 기억공간 표현 : 2차원 배열과 동일 : 2차원 배열에 비해 기억공간 절약효과 (포인터배열은 자료의 크기만큼 기억공간 할당) 예시) 2024. 4. 22.
[C] 10-2 포인터와 배열의 관계 포인터와 배열의 관계 -포인터를 이용한 1차원 배열의 참조 : 배열은 포인터의 일부분 : 모든 배열은 포인터로 표현 가능 예시) -포인터를 이용한 2차원 배열의 참조 예시) -포인터와 배열은 서로 호환적 예시) -포인터와 배열의 값 변경 -배열과 포인터의 기억공간 확보 *배열 : 기억공간 중 자료영역을 고정적으로 확보 *포인터 : 기억공간 중 자료영역을 유동적으로 확보 -필요할 때만 자료용 기억 공간을 확보 -자료의 개수가 가변적인 경우 효과적 -> 포인터가 배열보다 활용의 폭이 넓다. 2024. 4. 22.
[C] 10-1 char형 포인터 char 포인터 : 포인터는 문자열 처리에 효과적 : 문자열 처리에 char형 포인터 사용 char 포인터의 기억공간 표현 : cp는 문자열의 시작주소를 갖는다. : 따라서 값을 참조할 때와는 달리 포인터변수 cp에 주소를 치환하지 않는다. 예시) 2024. 4. 22.
[C] 9-3 포인터 연산 포인터와 기억공간의 대응관계 포인터변수에 +, -, ++, -- 연산자를 사용하는 연산 1) 2) 3) ex) ex2) 2024. 4. 15.
[C] 9-2 포인터변수의 선언과 참조 포인터변수의 선언 : 변수 p는 포인터 변수로서 정수형의 자료를 갖는 변수의 주소를 갖는다. ex) 포인터변수의 참조 -> &, *연산자 사용 ex) 포인터변수 참조의 기억공간 표현 void형 포인터 -형식 : void * 포인터명; -의미 : 프로그램 실행시에 자료형이 결정되는 경우에 사용 : 저장하기 전에 명시적 형변환이 필요 일반 변수와 포인터 변수의 비교 2024. 4. 15.
[C] 9-1 포인터 포인터 : 변수의 일종 -변수 : 특정 데이터 값을 가지고 있음 -포인터 : 특정 데이터가 저장된 기억장소의 주소(번지)값을 가지고 있음 -> 따라서 포인터는 기억공간을 변수명으로 접근하지 않고 주소로 접근하기 위해 사용 일반적인 변수의 기억공간 표현 : 변수는 변수 선언에 의해 기억공간이 할당되고 : 할당된 기억공간에 변수에 대입된 데이터가 저장 : 이때 할당된 기억공간은 주소(번지)가 부여되어 있다. 주소를 이용하여 변수와 같은 동일한 작업 가능 : x의 주소 0002를 이용하여 데이터를 저장할 수 있다. -> 따라서 주소 값(포인터 값)을 다룰 수 있는 변수가 필요 -> 포인터 변수 : 변수의 주소 값을 갖는 특별한 변수 변수의 주소 예) 2024. 4. 15.
[C] 8-4 함수와 배열 배열을 함수의 배개변수로 사용할 경우 : 함수 호출 시 배열명만 명시하여 호출 : 함수의 헤더에는 -1차원 배열의 경우 크기 생략 가능 -다차원 배열의 경우 가장 높은 차원의 크기 생략 가능 2차원 배열이 함수의 매개변수로 사용된 예) : score_sum(score, 2, 5); // 함수호출시 배열명만 명시 : score_sum(int gr[][5], int row, int column) // 함수의 헤더에 다차원 배열의 경우 가장 높은 차원의 크기는 생략 가능 출력: 2024. 4. 8.
[C] 8-3 char형 배열과 문자열 char형 배열 -형식: char 배열명[문자열 길이 + 1] ex) char str[12] -의미: 배열명이 str이고, 12문자 길이를 가진 char형 배열 char형 배열선언과 초기화 // 문자열 단위로 초기화 // 문자 단위로 초기화('\0' 문자를 삽입해야 함) char형 배열의 기억공간 표현 // '\0'문자가 자동으로 삽입됨 // '\0'문자를 끝에 삽입함 ex) ex - scanf()함수 이용) 2024. 4. 8.
728x90