배열이란????
같은 자료형(int, float, char, ...)을 가진 데이터가 연속적으로 사용되어질때 이들을 한꺼번에 차례차례 나열하여 메모리를 할당하는 자료구조를 말한다. 보통은 같은 자료형을 가진 변수들이 여러개가 필요할 때 주로 사용되어진다.
배열의 선언
int array[10];
위와 같은 형태로 선언을 합니다. int - 자료형, array - 배열이름, [10] - 배열 길이를 뜻합니다.
단, 특이하게도 배열을 선언과 동시에 초기화를 할경우 예를 들어 설명하면
int array[2] = {1, 2}; 정상적인 초기화.
int array[2]; 배열은 연속적인 메모리 할당이므로 배열이름만 사용할 경우 주소를 가지는 상수
array = {1, 2}; 이므로 상수에 상수를 대입할 수 없다. 따라서 error발생.
배열의 크기
크기는 보통 자료형과 배열의 길이에 따라 정해집니다. 예를들어
char array[10]; char형은 1바이트 자료형입니다. 배열길이는 10이므로 1*10, 따라서 10바이트 입니다.
short array[10]; short형은 2바이트 자료형입니다. 배열길이는 10이므로 2*10, 따라서 20바이트 입니다.
int array[10]; int형은 4바이트 자료형입니다. 배열길이는 10이므로 4*10, 따라서 40바이트 입니다.
이처럼 자료형과 크기를 알면 배열을 크기를 구할수 있습니다.
배열의 같은 표현
배열에서의 주소값을 확인할 때 변수로 지정하는 방법은 두가지가 있다.
&배열이름[번호] == 배열이름 + 번호 == 배열의 주소 값을 나타낸다. 즉, 예시를 보면 &array[0] == array + 0 은 둘다 주소를 표현하는 방법이다.
배열에서의 값을 확인할 때 변수로 지정하는 방법 또한 두가지가 있다.
배열이름[번호] == *(배열이름 + 번호) == 배열의 값을 나타낸다. 즉, 예시를 보면 array[0] == *(array + 0) 은 둘다 값을 표현하는 방법
'나미 > C' 카테고리의 다른 글
파일 쓰기 (0) | 2016.12.16 |
---|---|
우분투 기준 serial port 열기(장비) (0) | 2016.12.16 |
C언어 OCI LIB으로 코딩하기!! (0) | 2016.12.15 |
10진수 16진수로 변환 후 16진수를 그대로 문자열에 복사하는 방법 (0) | 2015.11.03 |
24.지역변수와 전역변수 (0) | 2013.04.05 |
22. 함수선언과 정의 (0) | 2013.03.28 |
21. 비트연산자 (0) | 2013.03.25 |
20. 메모리를 구성하는 5가지 영역 (0) | 2013.03.21 |
19. IEEE 754 표준 - float, double형의 실수저장방식 (0) | 2013.03.21 |
18. Point와 Symbol Table (0) | 2013.03.20 |