※ 引述《tomore (小Q)》之銘言:
: void sort(int *ptr,int size){
: //*ptr=array[0]
: //*(ptr+1)=array[1]
: ptr++;
: //*ptr=array[1]
: //*(ptr+1)=array[2]
: }
: int main(){
: const int size;
: array[size];
: sort(&array[0],size); // 傳遞陣列的初始位址及陣列大小
: system("pause");
: return 0;
: }
: 或許你會分不清什麼是取值或取位址
: 指標所儲存的內容是位址而不是值
: 所以在指標前加上* 就是顯示這個指標指向的位址中的值
: 如果沒加上*就只是單純的顯示這個指標目前指向的位址
: 而在變數前加上&則是取位址的意思
: 不知道這樣解釋你會不會比較清楚一點
*( *(ary+i) +j )
↑↑↑↑↑
以第一維來說它的值是第二維的起始位址,因此就設計上的意義來說
第一維所儲存的是用來代表第二維的起始位址,當然儲存數值可以是不一樣或是一樣的
*( *(ary+i) +j )
↑↑
而第二維才有本身連續的意義;推廣到多維也是一樣,只有最後一維才有連續上的意義
不過靜態矩陣就位址上好像都是連續的厚?自然t大的想法是可行的
然後原Po要不要先熟悉指標,畢竟t大都有把規則寫在註解裡
查詢'二維'應該也有許多方法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.184.50