變數是記憶體位置的名稱。它用於存儲數據。其值可以更改,可以重複使用多次。
它是通過符號表示記憶體位置的方法,以便可以容易識別。
我們來看一下聲明一個變數的語法:
type variable_list;
聲明變數的例子如下:
int a;
float b;
char c;
這裏,a
,b
,c
是變數,它們分別對應:int
,float
,char
是數據類型。
我們還可以在聲明變數時提供值,如下所示:
int a=10,b=20; // 同時聲明兩個整數類型的變數,並為它們分別賦值
float f=20.8;
char c='A';
定義變數的規則
- 一個變數名稱可以有字母,數字和下劃線。
- 變數名稱只能以字母和下劃線開頭,但是它不能以數字開始。
- 變數名稱內不允許有空格。
- 變數名稱不能是任何保留字或關鍵字,例如:
int
,float
等
有效的變數名:
int a;
int _ab;
int a30;
無效的變數名:
int 2;
int a b;
int long;
C語言的變數類型
C語言中有很多變數類型:
- 局部變數
- 全局變數
- 靜態變數
- 自動變數
- 外部變數
1.局部變數
在函數或塊中聲明的變數稱為局部變數。它必須在塊的開始處聲明。
void function1(){
int x=10;//local variable
}
在使用局部變數之前必須要初始化它。
2.全局變數
在函數或塊之外聲明的變數稱為全局變數。任何函數都可以改變全局變數的值。它可用於所有函數。它必須在塊的開始處聲明。
int value=20;// 全局變數
void function1(){
int x=10;// 局部變數
}
3.靜態變數
用static
關鍵字聲明的變數稱為靜態變數。它在多個函數調用之間保留其值。
void function1(){
int x = 10; // 局部變數
static int y = 10; // 靜態變數
x = x + 1;
y = y + 1;
printf("%d,%d", x, y);
}
如果多次調用此函數,局部變數在每次函數調用列印相同的值,例如:11
,11
,11
等等。 但靜態變數將列印每個函數調用中遞增的值。例如:11
,12
,13
等。
4.自動變數
默認情況下,在塊內聲明的C語言中的所有變數都是自動變數。通過我們可以使用auto
關鍵字顯式聲明自動變數。
void main(){
int x=10;//local variable (also automatic)
auto int y=20;//automatic variable
}
5.外部變數
我們可以通過使用外部變數來共用多個C原始檔案中的變數。 要聲明一個外部變數,需要使用extern
關鍵字。
原始檔案:myfile.h 代碼如下 -
extern int x = 10; // 外部變數 (也可叫全局變數)
原始檔案:program1.c 代碼如下 -
#include "myfile.h"
#include <stdio.h>
void printValue(){
printf("Global variable: %d", global_variable);
}
上一篇:
C語言printf()和scanf()函數
下一篇:
C語言數據類型