Development/C, C++(556)
-
3차원 배열의 이해
3차원 배열의 이해 int array[3][2][3][면][행][열]
-
2차원 배열의 선언
2차원 배열(two dimensional array)http://codedragon.tistory.com/8009 2차원 배열의 선언 자료형 int 배열의 자료형을 지정 배열 요소로 저장되는 변수의 타입을 지정합니다. 배열 이름 array 변수 이름과 마찬가지로 배열을 구분하는 배열의 이름 배열 길이 [4][3] 배열 요소의 길이를 행(가로)과 열(세로)로 지정 행 [4] 배열 요소 길이의 행(가로)의 수 열 [3] 배열 요소 길이의 열(세로)의 수 2차원 배열 메모리 구조배열을 입체적 공간으로 표현했지만 컴퓨터의 메모리는 선형 공간이므로 실제로는 1차원배열처럼 계속 연결된 형태로 저장됩니다. 2차원 배열의 선언행과 열을 지정#include int main(void){ // 2차원 배열의 선언 int a..
-
Ex09-배열이름을 통한 값 참조
배열이름을 통한 값 참조 *연산자 사용시 메모리 구조 소스코드 #include int main(void) { int array[5] = {10, 20, 30, 40, 50}; printf("%x %x %x %x %x \n",array+0,array+1,array+2,array+3,array+4); // 16진수 주소출력, 4 byte 차이 printf("%d %d %d \n",*(array+0),*(array+1),*(array+2),*(array+3),*(array+4)); // 10진수 값출력 printf("%d %d \n", *(array+0), *array); // 같은 표현 return 0; } 출력결과
-
Ex08-*&연산자 사용
*&연산자 사용 *연산자와 &연산자 동시 사용시 상쇄작용을 일으킵니다. *&는 서로 상쇄되어 없는 것과 동일의미 *&a == a *&연산자 사용시 메모리 구조 소스코드 #include int main(void) { int array[5] = {10, 20, 30, 40, 50}; printf("%x %x %x %x %x \n",array+0,array+1,array+2,array+3,array+4); //16진수 주소출력 printf("%d %d %d %d %d \n",*&array[0],*&array[1],*&array[2],*&array[3],*&array[4]); //10진수 값출력 printf("%d %d %d %d %d \n",array[0],array[1],array[2],array[3],ar..
-
Ex07-배열 이름은 배열의 시작 주소
배열 이름은 배열의 시작 주소 char형 배열 16진수 주소와 배열에 저장된 값 출력하기 10진수 주소와 배열에 저장된 값 출력하기 배열 이름을 사용시 메모리 구조 소스코드 #include int main(void) { char array[5] = {'A', 'B', 'C', 'D', 'E'}; //16진수 주소 출력 // printf("%x %x %x %x %x \n",array+0,array+1,array+2,array+3,array+4); // 16진수 주소출력, 1 byte 차이 // printf("%x %x %x %x %x \n",&array[0],&array[1],&array[2],&array[3],&array[4]); //16진수 주소출력, 1 byte 차이 //10진수 주소 출력 print..
-
Ex06-배열 이름은 배열의 시작 주소
배열 이름은 배열의 시작 주소 int형 배열 메모리 주소값을 %d로도 출력해서 메모리공간차이를 직관적으로 확인해보기 메모리 구조 소스코드 #include int main(void) { int array[5] = {10,20,30, 40, 50}; //%x(16진수)로 출력 // printf("%x %x %x %x %x \n",array+0,array+1,array+2,array+3,array+4); //16진수 주소출력, 4 byte 차이 // printf("%x %x %x %x %x \n",&array[0],&array[1],&array[2],&array[3],&array[4]); //16진수 주소출력, 4 byte 차이 //%d(10진수)로 출력 printf("%d %d %d %d %d \n",arr..