static用途:
1)全域性變數和區域性變數在記憶體中的區別:
全域性變數:在記憶體的靜態儲存區
區域性變數:在記憶體的棧區
(全域性變數如果不初始化,由編譯器自動初始化為0, 區域性變數不初始化,結果未知)
2)static全域性變數和普通全域性變數的區別:
相同點:都儲存在靜態儲存區
不同點:(作用域不同)
普通全域性變數作用域包括各個原始檔;
static全域性變數作用域只在定義它的原始檔內有效。
3)static區域性變數和普通區域性變數的區別
不同點:(記憶體)
static區域性變數儲存在記憶體的靜態儲存區;
普通區域性變數儲存在記憶體的棧區。
(生存特點)
普通區域性變數在定義的函式內有效,函式返回後,變數被**,消失。
4)static函式和普通函式的區別
不同點:(作用域)
static函式即為內部函式,在記憶體中只有乙份。(當重複包含改標頭檔案時,也不會提示重複定義函式)
普通函式在每個呼叫中維持乙份拷貝,(當重複包含該標頭檔案時,會提示重複定義函式)
struct 結構的記憶體排列規則
怎麼預防strcpy記憶體越界(查「記憶體越界」)
strncpy()
c程式和c++程式怎麼區別
c++中定義了巨集 __cplusplus;
#ifdef __cplusplus
#ifndef __cplusplus
#endif
.c++中定義了__cplusplus,c語言中沒有該定義。即:識別是c**還是c++**。
linux驅動面試常見題目
from 1.linux核心裡面,記憶體申請有哪幾個函式,各自的區別?kmalloc get free page mempool create 2.irq和fiq有什麼區別,在cpu裡面是是怎麼做的?3.int a char b a 和 b本身是什麼型別?a b裡面本身存放的只是乙個位址,難道是這兩...
linux驅動面試常見題目
1.linux核心裡面,記憶體申請有哪幾個函式,各自的區別?kmalloc get free page mempool create 2.irq和fiq有什麼區別,在cpu裡面是是怎麼做的?3.int a char b a 和 b本身是什麼型別?a b裡面本身存放的只是乙個位址,難道是這兩個位址有不...
C 常見演算法題目 面試準備
1.寫出冒泡,選擇,插入排序演算法。氣泡排序 public class bubblesorter 選擇排序 public class selectionsorter int t list min list min list i list i t 插入排序 public class insertion...