Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 배열의 Post 및 Pre 증분

<시간/>

문제

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