一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - C語言 變量詳解及示例代碼

C語言 變量詳解及示例代碼

2021-04-13 15:09C語言教程網 C/C++

本文主要介紹C語言 變量,這里整理了C語言 變量的基礎知識,并附有示例代碼和詳細講解,希望能幫助學習C語言的朋友

C 變量

變量其實只不過是程序可操作的存儲區的名稱。C 中每個變量都有特定的類型,類型決定了變量存儲的大小和布局,該范圍內的值都可以存儲在內存中,運算符可應用于變量上。

變量的名稱可以由字母、數字和下劃線字符組成。它必須以字母或下劃線開頭。大寫字母和小寫字母是不同的,因為 C 是大小寫敏感的。基于前一章講解的基本類型,有以下幾種基本的變量類型:

 

類型 描述
char 通常是一個八位字節(一個字節)。這是一個整數類型。
int 對機器而言,整數的最自然的大小。
float 單精度浮點值。
double 雙精度浮點值。
void 表示類型的缺失。

 

C 語言也允許定義各種其他類型的變量,比如枚舉、指針、數組、結構、共用體等等,這將會在后續的章節中進行講解,本章節我們先講解基本變量類型。

C 中的變量定義

變量定義就是告訴編譯器在何處創建變量的存儲,以及如何創建變量的存儲。變量定義指定一個數據類型,并包含了該類型的一個或多個變量的列表,如下所示:

type variable_list;

在這里,type 必須是一個有效的 C 數據類型,可以是 char、w_char、int、float、double、bool 或任何用戶自定義的對象,variable_list 可以由一個或多個標識符名稱組成,多個標識符之間用逗號分隔。下面列出幾個有效的聲明:

?
1
2
3
4
int  i, j, k;
char  c, ch;
float f, salary;
double d;

行 int i, j, k; 聲明并定義了變量 i、j 和 k,這指示編譯器創建類型為 int 的名為 i、j、k 的變量。

變量可以在聲明的時候被初始化(指定一個初始值)。初始化器由一個等號,后跟一個常量表達式組成,如下所示:

type variable_name = value;

下面列舉幾個實例:

?
1
2
3
4
extern int d = 3, f = 5;  // d 和 f 的聲明, 這就是單純的聲明
int d = 3, f = 5;      // 定義并初始化 d 和 f
byte z = 22;        // 定義并初始化 z
char x = 'x';        // 變量 x 的值為 'x'

不帶初始化的定義:帶有靜態存儲持續時間的變量會被隱式初始化為 NULL(所有字節的值都是 0),其他所有變量的初始值是未定義的。

C 中的變量聲明

變量聲明向編譯器保證變量以指定的類型和名稱存在,這樣編譯器在不需要知道變量完整細節的情況下也能繼續進一步的編譯。變量聲明只在編譯時有它的意義,在程序連接時編譯器需要實際的變量聲明。

變量的聲明有兩種情況:

1、一種是需要建立存儲空間的。例如:int a 在聲明的時候就已經建立了存儲空間。

2、另一種是不需要建立存儲空間的,通過使用extern關鍵字聲明變量名而不定義它。 例如:extern int a 其中變量 a 可以在別的文件中定義的。

3、除非有extern關鍵字,否則都是變量的定義。

extern int i; //聲明,不是定義
int i; //聲明,也是定義

實例

嘗試下面的實例,其中,變量在頭部就已經被聲明,但是定義與初始化在主函數內:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
 
// 變量聲明
extern int a, b;
extern int c;
extern float f;
 
int main ()
{
 /* 變量定義 */
 int a, b;
 int c;
 float f;
 
 /* 初始化 */
 a = 10;
 b = 20;
 
 c = a + b;
 printf("value of c : %d \n", c);
 
 f = 70.0/3.0;
 printf("value of f : %f \n", f);
 
 return 0;
}

當上面的代碼被編譯和執行時,它會產生下列結果:

?
1
2
value of c : 30
value of f : 23.333334

C 中的左值(Lvalues)和右值(Rvalues)

C 中有兩種類型的表達式:

1.左值(lvalue) :指向內存位置的表達式被稱為左值(lvalue)表達式。左值可以出現在賦值號的左邊或右邊。

2.右值(rvalue) :術語右值(rvalue)指的是存儲在內存中某些地址的數值。右值是不能對其進行賦值的表達式,也就是說,右值可以出現在賦值號的右邊,但不能出現在賦值號的左邊。

變量是左值,因此可以出現在賦值號的左邊。數值型的字面值是右值,因此不能被賦值,不能出現在賦值號的左邊。下面是一個有效的語句:

int g = 20;

但是下面這個就不是一個有效的語句,會生成編譯時錯誤:

10 = 20;

以上就是對C語言 變量的資料整理,后續繼續補充相關資料,謝謝大家對本站的支持!

延伸 · 閱讀

精彩推薦
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
主站蜘蛛池模板: 护士柔佳 | 日韩在线天堂免费观看 | 小sao货ji巴cao死你视频 | 欧美日本道免费一区二区三区 | 我在厨房摸岳的乳HD在线观看 | 国产综合成人亚洲区 | 国产精品青青青高清在线 | 高清视频在线观看+免费 | 亚洲欧美韩国日产综合在线 | 精品国产福利一区二区在线 | 亚洲 欧美 清纯 校园 另类 | 日韩成片| 海角社区在线登录 | 亚洲国产成人精品无码区APP | 欧美性理论片在线观看片免费 | 亚洲欧美影院 | 欧美日韩一区二区三在线 | 好大用力深一点视频 | 欧美日韩国产超高清免费看片 | 国产福利视频一区二区微拍视频 | 91亚洲一区二区在线观看不卡 | 国产一卡2卡3卡四卡精品网站 | 亚洲国产成人精品激情 | 亚州人成网在线播放 | 亚洲剧情在线观看 | 色8| 操操综合网 | 色姑娘久久 | 免费国产成人 | 午夜精品国产自在现线拍 | 毛片一区二区三区提莫影院 | 日本免费一区二区三区a区 日本免费三片在线观看 | 国产高清在线精品一区二区三区 | 香港三级系列在线播放 | 欧美成年黄网站色高清视频 | 欧美久久影院 | 97精品国产自在现线免费 | 国产色综合久久五月色婷婷中文 | 99色在线观看 | 操破苍穹小说 | 精品性影院一区二区三区内射 |