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

C의 합법 및 불법 선언 및 초기화

<시간/>

문제

C 프로그래밍을 수행하는 동안 합법 및 불법 선언 및 초기화에 대해 언급하시겠습니까?

합법 및 불법 진술에 대해 논의하기 전에 C에서 변수를 선언하고 초기화하는 방법을 살펴보겠습니다.

변수 선언

다음은 변수 선언의 구문입니다 -

구문

Datatype v1,v2,… vn;

여기서 v1, v2,...vn은 변수의 이름입니다.

예:int sum;

float a,b;

변수는 두 가지 방법으로 선언할 수 있습니다. -

  • 지역 선언

  • 글로벌 선언

'로컬 선언'은 메인 블록 내에서 변수를 선언하는 것이며 그 값은 해당 블록 내에서 사용할 수 있습니다.

'글로벌 선언'은 메인 블록 외부에서 변수를 선언하는 것이며 그 값은 프로그램 전체에서 사용할 수 있습니다.

예:

int a, b; /* global declaration*/
main ( ){
   int c; /* local declaration*/
   - - -
}

변수 초기화

다음은 변수 초기화 구문입니다 -

구문

Datatype v1=number;

예:

int sum=0;
float a=1,b=4.5;

데이터 유형을 사용하여 변수를 선언하면 선언 시 값을 초기화할 수 있습니다. 따라서 값을 초기화하고 선언하는 동안 규칙을 따라야 합니다.

C에서 합법 및 불법 선언 및 초기화의 몇 가지 예를 살펴보겠습니다.

예시

  • 문자 a=65;

    상수로 변수를 초기화할 수 있기 때문에 법적 진술입니다.

  • 정적 정수 p=20, q=p*p

    정적 변수는 상수로 초기화해야 하기 때문에 잘못된 문장이지만 여기서 q는 상수로 초기화되지 않습니다.

  • 더블 x=30 *PI

    여기서 우리는 상수 표현식으로 변수를 초기화했기 때문에 법적 진술입니다.

  • 두 배 직경 []={1,PI/2, PI, 2*PI/2}

    이것은 법적 진술입니다. 여기서 우리는 상수로 배열 요소를 초기화했습니다.

샘플 프로그램

법적 선언 및 초기화 포함 -

#include<stdio.h>
void main ( ){
   int a,b;
   a= 10, b = 20;
   printf (" %d", a<b);
   printf (" %d", a<=b);
   printf (" %d", a>b);
   printf (" %d", a>=b);
   printf (" %d", a = =b);
   printf (" %d", a ! =b);
}

출력

1 1 0 0 0 1

예시

불법 선언 및 초기화 -

#include <stdio.h>
int main(){
   static int p=20, q=p*p;//illegal initialization
   printf("%d%d",p,q);
   return 0;
}

출력

error will be occurred
error: initializer element is not constant
   static int p=20, q=p*p;