c語言提高筆記
day 1
小資料賦給大變數,首位是1則在前面自動補充1,首位是0則在前方自動補充0。
大資料賦給小變數,低位位元組對齊,truncate截斷,有可能會造成資料丟失。
程式和程序的差別:程式是原始檔經過編譯後的可執行檔案,程序是被作業系統從程式開始到結束的整個時間。
程式在拉入記憶體中之前就已經具備text段和initialized data段,拉入記憶體後才具備程序空間中的其他段,一般來說0-3g屬於使用者空間,3g-4g屬於系統空間,這一段空間不討論。32位機每乙個程序都是虛擬記憶體,都可以做到4g空間。
注意硬碟空間,虛擬記憶體和真實記憶體之間的關係。
我們對變數取位址,取的是虛擬的位址而非真實的位址。
如int a中變數a就是未初始化變數,處於未初始化資料段
int b=200,變數b是已經初始化變數,處於初始化資料段,可讀可寫,處於rw段,200一般
char *p=」china」,其中p位於rw段,」china」處於ro段
int a=20,其中20常直接放在**段
由以上可知,常量有可能放在text段,也有可能放在ro段,
8. 程式中的變數常量在程序空間中的位置
如此存放原因,
(1)回顧四種修飾符:
auto:修飾區域性變數,預設為auto,隨用隨開,用完即消
register:修飾區域性變數,將記憶體變數公升級到cpu暫存器中儲存
extern:修飾全域性變數
static:修飾區域性變數,改變區域性變數生命週期,使其生命週期同程序
(2)棧和堆的儲存
棧中可以存放任意型別的變數,但必須是aoto型別修飾的
注意,區域性變數是存放在棧上,全域性變數存放在堆上
C語言實踐 day1
小慧過生日,小明要買鮮花送她。每枝紅玫瑰5元,滿5支送1枝,滿20枝送5枝。小明一共有n n 10 元錢,最多能買到多少?include int main 執行結果 執行結果 對於除法 number1 number2 需要有更加深刻的理解,除以得到的結果為整數,不在固態的數學思維想到了餘數 若a b...
小白學習C語言DAY 1
第一天聽課的筆記 c語言,軟體 notepad 編輯軟體,類似於txt mingw的中的gcc編譯器 步驟 1 配置路徑環境變數 將gcc的目錄儲存至路徑最後如 c mingw bin,記得加分號。2 開啟cmd方法 使用win r鍵 先按win鍵。3 流程 使用 notepad 編輯並儲存 如gc...
c語言學習Day1
了解了如何建立專案,講述了斷點,以及除錯視窗,include 預處理器指令,告訴 c 編譯器在實際編譯之前要包含 stdio.h 檔案。編寫程式時,遇到的編譯錯誤分為鏈結錯誤和編譯錯誤。鏈結錯誤 雙擊顯示錯誤行 編譯錯誤 一般為函式寫錯了,看對應的函式符號 用define定義符號常量 include...