문제
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