ホームページ  >  記事  >  バックエンド開発  >  C言語における合法・違法な宣言と初期化

C言語における合法・違法な宣言と初期化

王林
王林転載
2023-08-30 09:49:061394ブラウズ

C言語における合法・違法な宣言と初期化

質問

C プログラミングを行う場合、合法および違法な宣言と初期化について言及しますか?

宣言と初期化の合法と違法について説明する前に、まず C で変数を宣言して初期化する方法を見てみましょう。

変数宣言

変数宣言の構文は次のとおりです -

Syntax

Datatype v1,v2,… vn;

ここで、v1、v2、...vn は変数の名前です。変数。

たとえば、int sum;

float a,b;

変数は 2 つの方法で宣言できます。

  • ローカル宣言

  • グローバル宣言

「ローカル宣言」とは、メイン ブロック内で変数を宣言し、その値をそのブロック内で使用できるようにすることです。

「グローバル宣言」とは、メインブロック内の変数をメインブロックの外で宣言し、その値をプログラム全体で利用できるようにすることです。

例:

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

変数の初期化

変数の初期化の構文は次のとおりです。

Syntax

Datatype v1=number;

たとえば、

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

データ型を使用して変数を宣言すると、宣言時に値を初期化できます。したがって、値の初期化と宣言を行う際は、規則に従う必要があります。

C での合法および違法な宣言と初期化の例をいくつか見てみましょう。

例 strong>

  • Char a=65;

    変数を定数で初期化できるため、これは正当なステートメントです。

  • Static int p=20, q=p*p

    静的変数は定数で初期化する必要があるが、ここでは q が初期化されていないため、これは不正なステートメントです

  • Double x=30 *PI

    ここでは変数を定数式で初期化しているため、これは正当なステートメントです。

  • Double path[]={1,PI/2, PI, 2*PI/2}

    これは正当な記述です。ここで配列要素を初期化します。は定数です。

サンプル プログラム

法的宣言と初期化付き

ライブ デモンストレーション p>

#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;

以上がC言語における合法・違法な宣言と初期化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。