在嵌入式開發過程中,C語言則是非常重要的一個環節,沒有一個好的C語言基礎在學習過程中無疑是非常困難的。所以在華清遠見學習嵌入式開發C語言基礎是一定要有的,那么C語言入門教程是啥呢?先了解一下這些C語言基礎題。
嵌入式C基礎題一:
在C語言中,只有在使用時才占用內存單元的變量,其存儲類型是什么?
當然是register,register是指寄存器變量,寄存器是cpu的存儲部件,即高速緩存,定義這個變量適用于頻繁修改(使用)的全局變量,以加快運行速度,因為保存在寄存器中,省去了在內存中調用,定義這個變量后,不能取地址。
嵌入式C基礎題二:
全局變量、局部變量、靜態全局變量、靜態局部變量的區別和引用方式?
初始化的全局變量在.data段,可以外部文本加extern引用;
未初始化的全局變量在.bss段,可以外部文本加extern引用;
靜態全局變量區別是不能在外部文件引用;
局部變量在運行時,棧區分配空間;
靜態局部變量在靜態區分配空間,函數調用后內存不釋放;
嵌入式C基礎題三:
內存的分配方式有哪三種,請簡單介紹一下。
內存分配有三種:靜態存儲區、堆區和棧區。他們的功能不同,他們使用方式也就不同。
1. 靜態存儲區:內存在程序編譯的時候就已經分配好,這塊內存在程序的整個運行期間都存在。它主要存放靜態數據、全局數據和常量。
2. 棧區:在執行函數時,函數(包括main函數)內局部變量的存儲單元都可以在棧上創建,函數執行結束時這些存儲單元自動被釋放。棧內存分配運算內置于處理器的指令集中,效率很高,但是分配的內存容量有限。(任何變量都處于站區,例如int a[] = {1, 2},變量a處于棧區。數組的內容也存在于棧區。)
3. 堆區:亦稱動態內存分配。程序在運行的時候用malloc或new申請任意大小的內存,程序員自己負責在適當的時候用free或delete釋放內存。動態內存的生存期可以由我們決定,如果我們不釋放內存,程序將在最后才釋放掉動態內存。 但是,良好的編程習慣是:如果某動態內存不再使用,需要將其釋放掉,并立即將指針置位NULL,防止產生野指針。
以上C語言基礎題你都做對了嗎?如果沒有做出來那么就需要多看看C語言的相關知識了,想要了解更多的C語言入門教程,請登錄華清遠見嵌入式培訓官網進行了解。