C언어/개념

[C] Array(배열) ··· (4)

thpop 2024. 11. 23. 14:38
반응형

지난 개념에서 이어진다.

(https://thpop.tistory.com/74 / Array(배열) ··· (3))


- array의 다양한 사용 예시

 

array를 정의하는 예시는 아래와 같다.

int a[100], b[27];

 

a의 인덱스 범위는 0~99, b의 인덱스 범위는 0~26.

 

array indexing의 예시는 다음과 같다.

printf("%d", c[0] + c[1] + c[2]);

 

- Symbolic constant

 

#define이라는 preprocessor deriative(전처리 명령어)를 사용한다.

해당 명령어는  특정 문자열이 뒤에 나오면, 지정된 문자열로 치환시키는 역할을 한다.

 

예시는 다음과 같다.

#define NUM 10 // defining symbolic constant before using it
...
...
printf("%d\n", NUM); // OK. NUM is replaced with text '10'
printf("NUM\n"); // 'NUM' will be printed instead of '10'
printf("%s\n", NUM); // ERROR.'%s' is for strings not for integers

 

즉 #define NUM 10을 적으면 이후에 나오는 NUM은 모두 10으로 대체된다는 것이다.

 

 

-  Symbolic Constant를 이용한 Array 예시

 

(1) - 

#include <stdio.h>
#define N 10

int main(){
	int a[N], i, sum=0;
	for (i = 0; i < N; i++){
		a[i] = 1; // initializes a
	}
	for (i = 0; i < N; i++){
		sum += a[i]; // sums the elements of a
	}
	printf("%d",sum);
	return 0;
}

 

N이 10으로 치환되어 a라는 문자열이 1으로 구성된 크기 10의 문자열이 된다.

이를 모두 더하여 문자열의 합인 10을 얻을 수 있다.

 

(2) - element를 거꾸로 출력하기

#define N 10
int a[N], i;
for (i = 0; i < N; i++)
	a[i] = 1; // initializes a
for (i = 0; i < N; i++)
	scanf("%d", &a[i]); // reads data into a
for (i = N-1; i>=0; i--)
	printf("%d ", a[i]);
printf("\n");

 

반응형

'C언어 > 개념' 카테고리의 다른 글

[C] 최대 / 최소 찾기  (0) 2024.11.23
[C] Array(배열) ··· (3)  (0) 2024.11.23
[C] Array(배열) ··· (2)  (0) 2024.11.23
[C] Array(배열) ··· (1)  (0) 2024.11.23
[C] Microsoft Visual Studio를 이용해 c언어 코딩하기  (0) 2024.07.07