Re: [問題] 2D array的address
看板C_and_CPP (C/C++)作者KanzakiHAria (神崎・H・アリア)時間8年前 (2018/04/23 12:50)推噓1(1推 0噓 6→)留言7則, 2人參與討論串2/5 (看更多)
《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,
8年前
, 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,
8年前
, 2F
04/24 00:04, 2F
推
04/24 02:55,
8年前
, 3F
04/24 02:55, 3F
→
04/24 02:55,
8年前
, 4F
04/24 02:55, 4F
→
04/24 02:55,
8年前
, 5F
04/24 02:55, 5F
→
04/24 02:56,
8年前
, 6F
04/24 02:56, 6F
→
04/24 10:20,
8年前
, 7F
04/24 10:20, 7F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 5 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章