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在對人對事 ...