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

王林
リリース: 2023-08-30 09:49:06
転載
1327 人が閲覧しました

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 での合法および違法な宣言と初期化の例をいくつか見てみましょう。

  • Char a=65;

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

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

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

  • Double x=30 *PI

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

  • Double path[]={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;
ログイン後にコピー

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

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!