最近朋友給我發了些***的程式,有點慌,感覺自己學的是假的c語言,所以找了最近遇到的幾個c語言細節(坑爹)的地方分享給大家。答案知識點會在後面給上。
輸出結果是什麼??
typedef
struct test
test;
intmain()
int
main()
int
main()
printf
("/n%d,%d,%d"
, a, b, c)
;system
("pause");
}
union myunion
;int
main()
看到這個,我想這玩意能編譯通過??
其實一直忽略了,sizeof也是乙個c的運算子。而且它的操作不止sizeof(),所以按照運算子的優先順序,int buff[sizeof((test *)0)->t]相當於int buff[int];答案為16;
sizeof
(object)
;//sizeof(物件);
sizeof
(type_name)
;//sizeof(型別);
sizeof object;
//sizeof物件;
(int&)a就是*(int *)a,繞來繞去花裡胡哨。答案10;
《運算子是從左往右進行比較比較結果是bool值,再和第三個比較。一共迴圈兩次,答案1,2,0;
聯合體的大小是成員中最大成員的大小,也就是指向一維陣列的指標,答案4;
由於是熬夜作業,博主解答的比較簡單,自己多多體會,博主睡了,小命要緊。
學完C語言還是懵的?大學生 我可能學了個假的C語言
不少同學從hello world學到檔案操作之後,回顧感覺會又不會?學會了又感覺沒學會?這種不踏實 模糊虛無的感覺?原因在於程式設計不同於理論學科,你聽懂和理解了理論就可以運用,比如歷史地理,看完書,我們在討論的時候 北美洲和南美洲的分界是什麼?辛亥革命是什麼時候?這些問題只要你看到過,腦子有記憶你...
C語言中的「六大陷阱」,你可能已經知道了兩個
前戲 要理解乙個c 程式,僅僅理解組成該程式的符號是不夠的,我們還需要理解這些符號是如何組成宣告 表示式 語句和程式的。今天我們就來討論一下不一樣的語法結構。1.正確理解函式宣告 你是否見過這樣的 void 0 你能知道這是上面意思嗎?看不懂不用擔心,下面我們來分析一下 任何c變數的宣告都由兩部分組...
c語言資料結構,你可能還不知道的順序表
線性表的順序儲存又稱為順序表。它是用一組位址連續的儲存單元依次儲存線性表中的資料元素,從而使得邏輯上相鄰的兩個元素在物理位置上也相鄰。其最大的特點就是 元素的邏輯順序與其物理順序相同。線性表的順序儲存結構中任一元素都可以隨機訪問,並且注意 線性表中元素的位序是從1 開始的,而陣列中元素的下標是從0 ...