문제
C 프로그램의 도움으로 배열 포스트와 사전 증분 개념을 설명합니다.
해결책
증가 연산자(++) -
-
변수의 값을 1씩 증가시키는 데 사용됩니다.
-
증가 연산자에는 사전 증가와 사후 증가의 두 가지 유형이 있습니다.
-
증가 연산자는 사전 증가의 피연산자 앞에 배치되고 값이 먼저 증가된 다음 연산이 수행됩니다.
eg: z = ++a; a= a+1 z=a
-
증가 연산자는 사후 증가에서 피연산자 뒤에 배치되고 값은 연산이 수행된 후에 증가합니다.
eg: z = a++; z=a a= a+1
사전 및 사후 증가를 사용하여 메모리 위치의 특정 요소에 액세스하는 예를 살펴보겠습니다.
크기 5의 배열을 선언하고 컴파일 시간 초기화를 수행합니다. 그런 다음 'a' 변수에 미리 증가된 값을 할당하려고 합니다.
a=++arr[1] // arr[1]=arr[1]+1 a=arr[1] b=arr[1]++// b=arr[1] arr[1]+1
예시 1
#include<stdio.h>
int main(){
int a, b, c;
int arr[5] = {1, 2, 3, 25, 7};
a = ++arr[1];
b = arr[1]++;
c = arr[a++];
printf("%d--%d--%d", a, b, c);
return 0;
} 출력
4--3--25
설명
here, a = ++arr[1]; i.e a = 3 //arr[2];
b = arr[1]++; i.e b = 3 //arr[2];
c = arr[a++]; i.e c = 25 //arr[4];
printf("%d--%d--%d",a, b, c);
printf("%d--%d--%d",4, 3, 25);
Thus 4--3--25 is outputted 예시 2
배열의 사전 및 사후 증분에 대해 자세히 알아보려면 다른 예를 고려하십시오.
#include<stdio.h>
int main(){
int a, b, c;
int arr[5] = {1, 2, 3, 25, 7};
a = ++arr[3];
b = arr[3]++;
c = arr[a++];
printf("%d--%d--%d", a, b, c);
return 0;
} 출력
27--26—0