Re: [問題] 2D array的address
《21世紀C語言》書中提供一個直觀的看法。以解析原理來看推薦*偏右。
int a = 2;
int *b = &a;
int c[3];
int d[2][3][4];
結果 a 和 *b 是 int ,同樣的邏輯 c[1] 和 d[1][2][3] 是 int
因為歷史包袱,取值的方法有一堆手段,千萬不要寫成以下任何一行的糟糕程式碼:
int AAA = *c;
int BBB = *(int*)(void*)d;
int CCC = b[0];
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.65.143
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1524459040.A.88C.html
→
04/23 19:54,
7年前
, 1F
04/23 19:54, 1F
對 可能造成後面的人接著寫出b[1]而產生錯誤 比*c後果更糟糕
clean code的觀念就是好的程式碼會讓後面的程式碼保持整潔
髒的程式碼會引出更多髒的程式碼 軟體工程普遍認為越多髒程式碼錯誤率越高
※ 編輯: KanzakiHAria (114.36.67.138), 04/23/2018 21:43:51
→
04/24 00:04,
7年前
, 2F
04/24 00:04, 2F
推
04/24 02:55,
7年前
, 3F
04/24 02:55, 3F
→
04/24 02:55,
7年前
, 4F
04/24 02:55, 4F
→
04/24 02:55,
7年前
, 5F
04/24 02:55, 5F
→
04/24 02:56,
7年前
, 6F
04/24 02:56, 6F
→
04/24 10:20,
7年前
, 7F
04/24 10:20, 7F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 5 篇):