指向陣列指標問題

2022-10-17 02:57:55 字數 659 閱讀 1330

1樓:匿名使用者

float (*p)[4];

p指向的是4個float構成的陣列.

這裡不能改為float* p, 因為search函式內有*(*(p+n)+i))

這個表示式相當於

p[n][i]

這個表示式的意思是:

從p指向的位置開始, 往後偏移, 尋找第 (n*4+i)個float數. 而這正好與score陣列的排放規律相同.

為什麼是n*4+i而不是 n*5+i或其他, 就是因為p指向的是4個float構成的一維陣列.

2樓:

float (*p)[4]宣告是陣列指標,float *p宣告是指標 不是一回事

3樓:o御風而行

float (*p)[4]不是 4 個指標,而是表示 p 指向的是含有 4 個元素的一維陣列,看下面的例子:

float (*p)[4];

float* q;

p++; /* p移動了4個位元組 */

q++; /* q移動了1個位元組 */

4樓:伊·梵

用void search(float *p,int n);

也可以的,不過改了形參型別,就需要改實參的型別和函式的實現

C 的指標和陣列問題,C 的指標和陣列問題

這種二維指標是不能操作這種二維陣列的,二維指標就是指標的指標,而這種情況應該用陣列指標,另外,由於二維自動陣列也是順序存放的,所以可以用一維指標傳遞二維陣列的地址。首先,你對指標沒有弄明白,最後詳細系統的瞭解一下指標的知識,這你可以參考c 語言程式設計教材的指標部分。第二,來說說本題,如果你把int...

請教指標與陣列的問題,C語言的問題,指標陣列

是可以的。c在這裡是很靈活的。int a 10 相當於int const a int malloc sizeof int 10 陣列名a相當於一個常量指標,指向int型別。同樣也可以把指標當成變數型的陣列名,如你文中所說。無論是常量型的a i 還是變數型的pbuf i 編譯之後其實都是執行的 a i...

夢見鐘錶指標指向,夢見鐘錶指標指向

在夢中看見鐘錶 表示競爭對手正設下陷阱等你上鉤,還是小心為妙。而如果你在夢中很注意看著鐘錶的時間 表示你的思考很細密,會給你帶來成功。如果表上的刻度不清楚 表示你做的事會事倍功半。夢見手錶指標在原地跳 夢見手錶指標在復原地跳意味著制 付出就bai指望有回報的一天 這兩天的你 du人zhi在對人對事 ...