菜鳥日誌(2

2021-10-03 16:20:02 字數 1581 閱讀 8638

這題是關於函式指標,int(p)(int, int);為定義方式

這個語句就定義了乙個指向函式的指標變數 p。首先它是乙個指標變數,所以要有乙個「」,即(p);其次前面的 int 表示這個指標變數可以指向返回值型別為 int 型的函式;後面括號中的兩個 int 表示這個指標變數可以指向有兩個引數且都是 int 型的函式。所以合起來這個語句的意思就是:定義了乙個指標變數 p,該指標變數可以指向返回值型別為 int 型,且有兩個整型引數的函式。p 的型別為 int()(int,int)。

# include

intmax

(int

,int);

//函式宣告

intmain

(void

)int

max(

int x,

int y)

//定義max函式

else

return z;

}

a中的返回值不能給a;

1、什麼是柔性陣列?

柔性陣列既陣列大小待定的陣列, c語言中結構體的最後乙個元素可以是大小未知的陣列,也就是所謂的0長度,所以我們可以用結構體來建立柔性陣列。

2、柔性陣列有什麼用途 ?

它的主要用途是為了滿足需要變長度的結構體,為了解決使用陣列時記憶體的冗餘和陣列的越界問題。

3、用法 :在乙個結構體的最後 ,申明乙個長度為空的陣列,就可以使得這個結構體是可變長的。對於編譯器來說,此時長度為0的陣列並不占用空間,因為陣列名

本身不佔空間,它只是乙個偏移量, 陣列名這個符號本身代 表了乙個不可修改的位址常量 (注意:陣列名永遠都不會是指標! ),但對於這個陣列的大小,我們

可以進行動態分配,對於編譯器而言,陣列名僅僅是乙個符號,它不會占用任何空間,它在結構體中,只是代表了乙個偏移量,代表乙個不可修改的位址常量!

對於柔性陣列的這個特點,很容易構造出變成結構體,如緩衝區,資料報等等:

typedef struct _softarray

softarray;

這樣的變長陣列常用於網路通訊中構造不定長資料報,不會浪費空間浪費網路流量,比如我要傳送1024位元組的資料,如果用定長包,假設定長包的長度為2048,就

會浪費1024個位元組的空間,也會造成不必要的流量浪費。

b中錯誤是因為的優先順序高於();

菜鳥MARK日誌 1

最近一年在接觸freescale的晶元,用來做車身上的一些控制器,問題多多,自己也基礎不牢,多多mark,勿忘,多分析。1 前幾天除錯乙個定製改裝的閘道器,需要乙個鎖控制功能。晶元是飛思卡爾的9s12xe系列,原理上就是拉一下繼電器,還無鎖反饋的情況下,粗估一下鎖動作時間,乙個時間大概是60 80m...

OpenCV菜鳥紀實 2

學習目標 安裝opencv2.4.13 vs2015。謝天謝地,終於裝完了,歷時近4個小時,特來總結。step 1 安裝cmake。這裡比較無謂的下了幾個cake的版本,其實去官網上直接下乙個msi檔案,然後安裝就可以了。step 2 編譯opencv。利用cmake gui.exe編譯opencv...

2012 12 13 菜鳥上路(2)

表示自己真是乙隻蠢蠢的土撥鼠 下的qt居然不是mingw版本的 簡直蠢得沒救了,現在還要解除安裝重新安裝,簡直不能好 重新安一次qt,這次把它安到d盤去比較好,畢竟c盤的剩餘空間這個東西,就跟一杯水裡放了塊海綿,這個水啊,它說沒就沒,這個剩餘空間啊,它也說沒就沒 以及菜鳥果然是菜鳥,感覺要死在半路上...