C語言之變數的本質

2021-07-13 23:55:20 字數 898 閱讀 1860

一、變數的本質

變數的本質是一段連續記憶體空間的別名,或者說變數是一段連續記憶體空間的門牌號,畫個圖:

不管是標準資料型別,還是指標(指標也是一種資料型別),都是一樣的,都是記憶體空間的門牌號,千萬不好把變數畫到記憶體中去。

二、通過變數往記憶體中進行讀寫資料

三、修改記憶體的方法

1、直接

int a = 10;

a = 20;

2、間接

#include"stdio.h"

#include"stdlib.h"

#include"string.h"

typedef struct teacher teacher;

int main()

*((int*)1638148) =20;
#include"stdio.h"

#include"stdlib.h"

#include"string.h"

typedef struct teacher teacher;

int main()

讓指標p指向a的首位址,然後利用p修改值,輸出結果同上。指標這種間接修改記憶體值的方式,編譯器會把它轉換成上面這種形式,也就是說編譯器本身就是這麼實現對記憶體的間接修改的。

*((int*)1638148) =20;
四、是否可以對記憶體空間取別名

這在c++中就是使用引用做到這一點的

五、變數的三要素:名稱,大小,作用域

C語言之變數屬性

1.c語言的變數屬性 c語言中的變數可以有自己的屬性 在定義變數的時候可以加上 屬性 關鍵字 屬性 關鍵字指明變數的特有意義 語法 property type var name 示例 2.auto關鍵字 auto即c語言中區域性變數的預設屬性 auto表明將被修飾的變數儲存於棧上 編譯器預設所有的區...

C語言之變數與常量

關於變數 常量 型別和運算子等。2.1 變數名 變數名由字母和數字組成,首字母必須是字母,下劃線 看作是字母,所以可以放在首字母。但是,盡量不用用下劃線作為首字母,因為在庫函式中經常這樣命名。變數名用小寫字母,符號常量用大寫字母。變數名字的選擇需要根據實際目的,區域性變數用短名,外部變數用長名。2....

C語言之變數基本使用

宣告變數 int num 賦值 num 60 使用 printf num d num 也可以一步到位 變數表示記憶體中的乙個儲存區域 不同的資料型別,占用的空間大小不一樣 該區域有自己的 名稱 和 型別 變數必須先宣告,後使用 該區域的資料可以在同一型別範圍內不斷變化 變數在同乙個作用域內不能重名 ...