c語言(指標問題)

2022-07-03 14:25:14 字數 729 閱讀 9196

1樓:何處徹曉聞

typedef struct statestruct ss; //定義了一個新的型別,這個型別是個結構體,型別名是ss//下面宣告一個ss型別的變數ss s;//s就是一個ss型別的變數void (*funcptr)( void * ptr );//是一個型別名,型別是funcptr,這是一個函式指標型別,這個函式指標型別是返回值是void,接受一個void*的指標地址的引數。//一般使用typedef語法來用typedef void (*funcptr)( void * ptr );typedef struct statestruct ss;承上

void f(void *ptr){}//函式f就是一個funcptr型別的函式。//可以以下面的方法賦值:s.fp = f;

const ss st_stateinit = ;//用下面的寫法會好看很多const ss st_stateinit = ;//這是用state_init來初始化fp的值。

滿意請採納。

2樓:匿名使用者

*p = a+5;表示p指向a[5],可以理解吧?

然後,printf的時候,*--p,意思是p先減一個位置,指向a[4],然後再與*號結合,也就是列印a[4]的內容。所以為5

3樓:匿名使用者

p指向a[5]即 *p = 4,

*--p則是p先-1,即指向a[4],再取值即5.

所以輸出5.

c語言指標問題,C語言指標問題

記憶體對齊的緣故。p buf 作為一個指標,它的值是記憶體的某個位元組的地址。如果想要把 p buf 強制轉換版 成一個 unsigned int 型別的指權針,需要滿足一個必要條件,就是 p buf 的值必須能夠被4整除。之所以是4,是因為 unsigned int 是要佔4個位元組的 c語言結構...

關於C語言指標問題,求大神,C語言指標的問題,求大神!!

第一個函式的兩個指標是區域性變數,函式完了就銷燬了,換不換都一樣,第二個是直接操作指標指向的地方 記憶體單元 也就是直接操作變數。不恰當的比方,好比停車,有個圖紙記錄了每個車位停的什麼車,第一個就相當於另外拿了個圖紙畫了一下想要的位置,原來的圖沒變,函式結束後來的圖被扔了,原來的圖保留著,實際的車並...

C語言指標問題

你那是在swap內部交換了x,y,函式返回後,在swap內的改變不影響main函式中的x,y 如果改成下面的方式,或許可以。void swap int x,int y 第一樓的引數引用,只適用於c 不適用於c,這有差異的。void swap int x,int y 這隻交換了形參 x,y 的指標值,...