c之指標退化和printf小陷阱

2021-09-08 03:51:01 字數 506 閱讀 1205

今天參加了個筆試和面試,面試官給我指出了我試卷上的錯誤,我才發現,我的知識疏漏之處原來有不少,很是感謝。

記得曾經有本書,專門寫c的陷阱來著,裡面有很多都牽扯到指標。嘿嘿,這小傢伙古靈精怪,總是喜歡誤導別人。這裡說兩個我犯的錯誤。

1.指標退化。在c裡,陣列作為引數傳給函式時,都會退化為指標,可以通過sizeof檢測。

2.printf執行順序是自右向左。

見下面**:

1 #include 2 #include 3

using

namespace

std;45

char s[100];6

7void f(char s[100

])10

int ff(int

m)15

16int

main()

截圖:

c語言printf和指標初識

1.printf是行緩衝 滿一行才輸出 遇到 n 或者 r 會輸出 scanf 和printf 用的同一緩衝區,當 printf 與scanf 連用時會輸出。因此在寫 printf 時要加 n 2.當執行程式發現段錯誤時,可以在每一行 下面加除錯資訊 printf s d n func line 這...

C 小知識之指標和引用的區別

溫故而知新,指標和引用的概念,大學時都已熟知,實際用的時候往往又有些疑惑,故深入 一下。從概念上講。指標從本質上講就是存放變數位址的乙個變數,在邏輯上是獨立的,它可以被改變,包括其所指向的位址的改變和其指向的位址中所存放的資料的改變。而引用是乙個別名,它在邏輯上不是獨立的,它的存在具有依附性,所以引...

小甲魚 C 9 之指標

www.fishc.com 建立變數時,系統將分配一些記憶體塊用來儲存它們的值 每個記憶體塊擁有乙個獨一無二的位址 變數的位址可以用 variablename語法來取得 可以把位址賦值給一種稱為指標的特殊變數 指標的型別必須與由它儲存其位址的變數的型別一致 字元存放在記憶體中的形式是ascii碼 2...