面試常見題目

2021-09-30 11:53:44 字數 808 閱讀 8126

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...