[問題] 陣列指位器

看板C_and_CPP (C/C++)作者 (ice)時間12年前 (2014/01/19 22:32), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/1
小弟最近看了一個C語言的例題 是關於陣列指位器 #include<stdio.h> void main(void) { int c[15][15], *a[10],(*b)[15],i,j; for(i=0;i<15;i++) for(j=0;j<15;j++) c[i][j]=i*3+j; b=c; printf("%d\n",(*b++)[0]); printf("%d\n",b[3][4]); printf("%d\n",(*++b)[10]); } (*b)[15] 這邊不是b是一個陣列指位器所指的陣列有15個元素 那b=c是這邊是怎麼存的 後面就越來越糊塗了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.232.218

01/19 22:44, , 1F
c 這個陣列名稱,在運算式內會自動轉成指標,指向 int[15]
01/19 22:44, 1F

01/19 22:45, , 2F
也就是在 b = c 運算式內,c 會變成跟 b 同樣資料型態
01/19 22:45, 2F

01/19 22:45, , 3F
置底文就有講解
01/19 22:45, 3F
文章代碼(AID): #1Is-8KLA (C_and_CPP)
文章代碼(AID): #1Is-8KLA (C_and_CPP)