C語言複習(一) 程式記憶體

2021-10-02 20:33:32 字數 2086 閱讀 7766

因為寒假空閒時間比較多,加之今年疫情比較嚴重,所以就有時間把c語言重點與難點複習一遍。
如下圖示

這張展示了c語言中的資料型別。

資料型別的本質:固定大小記憶體塊的別名。

資料型別的作用:編譯器預先為變數分配的記憶體大小。

資料型別的大小sizeof()

sizeof是操作符,不是函式,sizeof測量的實體大小在程式編譯的時候就已經確定。

下面舉乙個簡單的例子:

#include

#include

intmain()

該程式執行結果如下:

我們會發現:

b和&b的結果是一樣的,但是b+1和&b+1的結果是不一樣的,這是因為b和&b代表的資料型別是不一樣的

b代表的是陣列首元素的位址,而&b代表的是整個陣列的位址。

陣列也是一種資料型別。

int a =2;

int*p1 =

&a;void

*p2 =

null

;p2 = p1;

char

*p4;

p4 =

(char*)

malloc

(100);

//malloc()函式返回值時void *l型別

變數:既能讀又能寫的記憶體物件,稱為變數。

常量:一旦初始化不能修改的物件稱為常量。

一段連續記憶體空間的別名。

程式通過變數向記憶體中讀寫資料。

修改變數的方法

直接

int a =

0;a =

10//直接修改

間接

常量區:

#include

#include

#include

char

*getstr1()

char

*getstr2()

intmain

(void

)

堆疊區:

#include

#include

#include

char

*getm

(int number)

else

}int

main

(void

)strcpy_s

(p,10

,"112233");

printf

("%s\n"

, p)

;printf

("%d\n"

, p)

;system

("pause");

return0;

}

入門一程式例項

例1.1 hello,world 程式 本例簡單地列印出 hello,world include int main 的第一行是一條預處理偽指令,它告訴c 編譯器在什麼地方尋找第3行中實用的std cout物件的定義。識別符號iostream是標準c 庫中乙個檔案的名字。所有用到標準輸入輸出的c 程式...

C語言複習(一)

希望能把c 水平由 知道 提公升到 熟悉 或 會用 精通 就算了吧,這個是一輩子的追求 好多知識點都忘了,在慕課複習下,總忘的知識點記一下。1 ansi標準 char 1byte int 2bytes unsigned int 2bytes unsigned short int 2bytes uns...

c 基礎複習 程式的記憶體模型

存放cpu執行的機器指令 區是共享的,共享的目的是對於頻繁被執行的程式,只需要在記憶體中有乙份 區是唯讀的,唯讀的原因是防止程式意外的修改了它的指令 全域性變數和靜態變數存放在這 全域性區還包括了常量區,字串常量和其他常量也存放在這 該區域在程式結束後由作業系統進行釋放 include using ...