배열

배열이란? 다수의 데이터를 저장하고 처리하는 경우에 유용하게 사용할 수 있는 것이 배열이다. 배열의 선언 방법 자료형 배열이름 길이정보 순이다 즉 int arr[20]; //int형 변수 20개로 이뤄진 배열, 이름은 arr이다. 4 * 20개 byte double arr2[10]; // 길이가 10인 double형 1차원 배열 8*10개 byte 이렇게 배열을 선언 가능하다 . 각 배열마다 각 자료형의 크기만큼 바이트가 할당되어 있다. 배열의 접근 방법 int arr[3]; //길이가 3인 int형 1차원 배열 위의 배열로 각 배열에 접근을 하는 방법은 .. arr[0]= 1; // 배열 arr에 첫 번째 요소에 1을 저장 arr[1]= 2; // 배열 arr에 두 번째 요소에 2을 저장 arr[3]=..
1. 함수포인터와 void포인터 변수만 메모리 공간에 저장되는 것은 아인다. 프로그램 실행의 흐름을 구성하는 함수들은 바이너리 형태로 메모리 공간에 저장되어 호출 시 실행이 된다. 그리고 이렇게 메모리 상에 저장된 함수의 주소 값을 저장하는 포인터 변수가 바로 '함수 포인터 변수'이다. ​ -함수 포인터의 이해 프로그래머가 정의한느 모든 함수는 프로그램 실행시 '메인 메모리'에 저장이 되어서 실행이 된다. 그리고 함수의 이름은, 이렇듯 메모리상에 저장된 함수의 주소 값을 의미한다. 배열의 이름이 배열의 시작주소 값을 의미하듯, 함수의 이름도 함수가 저장된 메모리 공간의 주소 값을 의미한다. 물론 배여르이 이름과 마찬가지로 함수의 이름도 그 형태가 상수이다. 그런데 이러한 함수의 주소 값 저장을 위한 포인..
1. 2차원 배열이름의 포인터 형 ​ -1차원 배열이름의 포인터 형과 2차원 배열이름의 포인터 형 int arr[20]; //arr는 int형 포인터 여기서 arr는 int형 포인터이다. 따라서 다음과 같이 함수의 인자로 전달되기 위해서는, SimpleFunc(arr); 함수의 매개변수가 다음과 같이 int형 포인터로 선언되어야 한다. void SimpleFunc(int *ptr){...} ​ 2차원 배열의 이름이 더블 포인터 형이라는 오해를 절대로 해서는 안된다. ​ -2차원 배열이름이 가리키는 것? int arr[3][3]; arr가 가리키는 것은 인덱스 기준으로 [0][0]에 위치한(2차원 배열에서도 이를 첫번째 요소라 한다)첫번째 요소이다. 그런데 2차원 배열의 경우 arr[0], arr[1], ..
1. 포인터의 포인터에 대한 이해 포인터의 포인터는 포인터 변수를 가리키는 또 다른 포인터 변수를 뜻하는 것으로서 흔히 '이중 포인터' 또는 '더블 포인터'라 부르며, 다음과 같이 포인터 변수의 선언에 사용되는 *연산자를 두개 이어서 선언한다. int **dptr; //int형 이중 포인터 ​ -포인터 변수를 가리키는 이중 포인터변수 (더블 포인터 변수) 포인터 변수는 종류에 상관없이 무조건 주소 값을 저장하는 변수이다. 다만 차이가 나는 것은 포인터 변수가 가리키는 대상일 뿐이다. int main(void){ double num= 3.14; double *ptr = # //변수 num의 주소값 저장 } 위의 코드에서 변수 num과 포인터 변수 ptr의 차이점과 공통점을 정리하자면, 공통점 : 둘..
1. 다차원 배열의 이해와 활용 -2차원 배열, 3차원 배열? ok, 4차원 배열, 5차원배열? No! 1차원배열은 선, 2차원 배열은 평면구조, 3차원 배열은 직육면체의 구조 배열이다. int a1[10] ; //길이가 10인 1차원 배열 int a2[4][5]; //행(가로)4, 열(세로)5인 2차원 배열 int a3[2][3][4]; //높이 2, 행3, 열4 인 3차원 배열 2차원 배열을 이해하면 3차원 배열은 이해가 필요없다. ​ -다차원 배열을 대표하는 2차원 배열의 선언 int arr[3][4] ; //행4, 열3 인 int형 2차원 배열 이렇게 배열이 선언되면 배열요소안에 삽입된 두 개의 숫자는 각각의 요소에 접근할 때 사용하게 되는 인덱스 값이다. 정리하면 배열의 이름이 arr이고 배열요..
신재권
'배열' 태그의 글 목록