鍍金池/ 教程/ C/ C語言變量
C語言printf()和scanf()函數(shù)
C語言strlen()函數(shù)
C語言指針
C語言ftell()函數(shù)
C語言#ifdef指令
C語言程序執(zhí)行流程
C語言歷史
C語言fprintf()和fscanf()函數(shù)
C語言#define指令
C語言#if指令
C語言將數(shù)組傳遞給函數(shù)
C語言指針的指針
C語言rewind()函數(shù)
C語言常量
C語言strcat()函數(shù)
C語言#ifndef指令
C語言continue語句
C語言注釋
C語言#include指令
C語言類型轉(zhuǎn)換
C語言strcpy()函數(shù)
C語言strlwr()函數(shù)
C語言while循環(huán)
C語言字符串
C語言strrev()函數(shù)
C語言gets()和puts()函數(shù)
C語言文件處理
C語言存儲分類
C語言運算符
C語言數(shù)據(jù)類型
C語言strcmp()函數(shù)
C語言VS開發(fā)環(huán)境安裝
C語言轉(zhuǎn)義序列
C語言第一個程序
C語言變量
C語言goto語句
C語言預(yù)處理器指令
C語言指針?biāo)阈g(shù)運算
C語言數(shù)學(xué)函數(shù)
C語言二維數(shù)組
C語言for循環(huán)
C語言命令行參數(shù)
C語言通過值和引用函數(shù)
C語言fputs()和fgets()函數(shù)
C語言do-while循環(huán)
C語言結(jié)構(gòu)體數(shù)組
C語言循環(huán)
C語言#pragma指令
C語言關(guān)鍵字
C語言#error指令
C語言聯(lián)合體
C語言特點
C語言break語句
C語言遞歸
C語言函數(shù)
C語言結(jié)構(gòu)體
C語言switch語句
C語言結(jié)構(gòu)體嵌套
C語言fputc()和fgetc()函數(shù)
C語言fseek()函數(shù)
C語言字符串函數(shù)
C語言if-else語句
C語言教程
C語言宏
C語言數(shù)組
C語言strupr()函數(shù)
C語言#undef指令

C語言變量

變量是內(nèi)存位置的名稱。它用于存儲數(shù)據(jù)。其值可以更改,可以重復(fù)使用多次。

它是通過符號表示內(nèi)存位置的方法,以便可以容易識別。

我們來看一下聲明一個變量的語法:

type variable_list;

聲明變量的例子如下:

int a;  
float b;  
char c;

這里,a,b,c是變量,它們分別對應(yīng):int,float,char是數(shù)據(jù)類型。

我們還可以在聲明變量時提供值,如下所示:

int a=10,b=20; // 同時聲明兩個整數(shù)類型的變量,并為它們分別賦值
float f=20.8;  
char c='A';

定義變量的規(guī)則

  • 一個變量名稱可以有字母,數(shù)字和下劃線。
  • 變量名稱只能以字母和下劃線開頭,但是它不能以數(shù)字開始。
  • 變量名稱內(nèi)不允許有空格。
  • 變量名稱不能是任何保留字或關(guān)鍵字,例如:intfloat

有效的變量名:

int a;  
int _ab;  
int a30;

無效的變量名:

int 2;  
int a b;  
int long;

C語言的變量類型

C語言中有很多變量類型:

  1. 局部變量
  2. 全局變量
  3. 靜態(tài)變量
  4. 自動變量
  5. 外部變量

1.局部變量

在函數(shù)或塊中聲明的變量稱為局部變量。它必須在塊的開始處聲明。

void function1(){  
    int x=10;//local variable  
}

在使用局部變量之前必須要初始化它。

2.全局變量

在函數(shù)或塊之外聲明的變量稱為全局變量。任何函數(shù)都可以改變?nèi)肿兞康闹?。它可用于所有函?shù)。它必須在塊的開始處聲明。

int value=20;// 全局變量
void function1(){  
    int x=10;// 局部變量
}

3.靜態(tài)變量

static關(guān)鍵字聲明的變量稱為靜態(tài)變量。它在多個函數(shù)調(diào)用之間保留其值。

void function1(){  
    int x = 10; // 局部變量
    static int y = 10; // 靜態(tài)變量
    x = x + 1;  
    y = y + 1;  
    printf("%d,%d", x, y);  
}

如果多次調(diào)用此函數(shù),局部變量在每次函數(shù)調(diào)用打印相同的值,例如:11,11,11等等。 但靜態(tài)變量將打印每個函數(shù)調(diào)用中遞增的值。例如:11,12,13等。

4.自動變量

默認(rèn)情況下,在塊內(nèi)聲明的C語言中的所有變量都是自動變量。通過我們可以使用auto關(guān)鍵字顯式聲明自動變量。

void main(){  
    int x=10;//local variable (also automatic)  
    auto int y=20;//automatic variable  
}

5.外部變量

我們可以通過使用外部變量來共享多個C源文件中的變量。 要聲明一個外部變量,需要使用extern關(guān)鍵字。

源文件:myfile.h 代碼如下 -

extern int x = 10; // 外部變量 (也可叫全局變量)

源文件:program1.c 代碼如下 -

#include "myfile.h"  
#include <stdio.h>  
void printValue(){  
    printf("Global variable: %d", global_variable);  
}