Test/C

배열

kiostory 2017. 3. 26. 18:48

* 배열


배열의 개념

1차원 배열

문자배열

2차원 배열

배열과 함수



* 배열의 개념 - 배열의 필요성

여러 개로 선언된 같은 데이터 형의 변수를 하나로 선언할 수 있도록 해 줌.

여러 개의 변수를 한번에 만드는 것


* 1차원 배열

- 1차원 배열 선언

- 배열의 접근주소

- 배열의 초기화


- 형식 : 데이터형 배열명[크기(길이)];

ex) int array[7];


배열의 이름이 시작 주소를 알려줌

인덱스 정보는 시작 주소를 기준으로 몇바이트를 이동해야 하는지 알려줌


- 배열의 접근주소



#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() {

 int arr[6];
 int i;
 
 for(i=0;i<=5;i++)
 {
  printf("arr[%d]의 주소는 %x 입니다.\n",i,&arr[i]);
 }

 return 0;
}


arr[0]의 주소는 62fe30 입니다.
arr[1]의 주소는 62fe34 입니다.
arr[2]의 주소는 62fe38 입니다.
arr[3]의 주소는 62fe3c 입니다.
arr[4]의 주소는 62fe40 입니다.
arr[5]의 주소는 62fe44 입니다.

--------------------------------


- 배열의 초기화

. 배열을 선언하고 초기값 지정. 배열도 따로 초기화를 하지 않으면 쓰레기 값을 갖는다!!

int arr[5]={1,2,3,4,5};


. 배열 초기화값에 따라 배열크기 인수가 결정되기도 함

. 초기값은 반드시 하나 이상 지정

. 초기값을 지정하지 않으면 컴파일 에러


#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() {
 
 int arr[6]={10,20,30,49,50,60};
 int i;
 
 for(i=0;i<=5;i++)
 {
  printf("arr[%d]의값은 %d이고, 주소는 %x 입니다.\n",i,arr[i],&arr[i]);
 }
  
 return 0;
}



arr[0]의값은 10이고, 주소는 62fe30 입니다.
arr[1]의값은 20이고, 주소는 62fe34 입니다.
arr[2]의값은 30이고, 주소는 62fe38 입니다.
arr[3]의값은 49이고, 주소는 62fe3c 입니다.
arr[4]의값은 50이고, 주소는 62fe40 입니다.
arr[5]의값은 60이고, 주소는 62fe44 입니다.

--------------------------------