Control Engineering/C Programming
배열(Array) 기초
Taesan Kim
2024. 9. 4. 23:39
본 포스팅은 한동대학교 21학번 과학기술전문사관 후보생 최윤석 선배님의 C언어 교육자료로 제작되었음을 알려드립니다. 감사합니다.
배열(Array) 기초
Intro
This posting will organize basic knowledge about arrays.
배열의 선언
데이터타입 변수이름[데이터개수] = {초기값1, 초기값2, …};
데이터 개수는 정수값만 들어갈 수 있다.
ex)
int num[5] = {3, 2, 6, 1, 2}; //기본적인 선언 초기화
Complex num[3] = {{1, 2}, {3, 4}, {4, 5}} //구조체 배열 초기화
double num[5] = {0}; //초기화
배열과 반복문
#include <stdio.h>
int main()
{
int a[5] = {1, 2, 3, 4, 5};
for(int i = 0; i < 5; i++)
printf("a[%d] = %d\n", i, a[i]);
}
배열의 크기
int main()
{
int a[5] = {1, 2, 3, 4, 5};
printf("%d\n", sizeof(a)); // 20....int는 4바이트 메모리 차지
}
int main()
{
int a[5] = {1, 2, 3, 4, 5};
printf("%d\n", sizeof(a) / sizeof(a[0])); //5
}
배열을 선언한 스코프에서만 동작한다. (스코프 밖에서 가져온 배열은 컴파일러에 따라 4바이트 혹은 8바이트의 크기로 배열의 메모리 크기가 반환되어 값이 1 또는 2로 나올 것이다.)
스코프 밖에서 불러온 배열은 그 사이즈를 구할 때 배열의 주소의 사이즈를 반환하기 때문이다. Like Pointer. 이를 방지하기 위해 동적할당(malloc)을 사용한다.
2024.09.04 - [Programming/C Programming] - Function&Array
Function&Array
Function&Array Intro*Function 함수란 코드 내부에서 반복되는 구문이나 특정 의미가 있는 기능을 가지는 코드를 모아두는 것이다.반환타입 함수이름(인자자료형1 인자1, 인자자료형2 인자2, …){ 코드
taesan5435.tistory.com