看板 C_and_CPP 關於我們 聯絡資訊
typedef struct{ int x; int y; }point; void fun(point*); void main() { point p; p.x=12; p.y=10; fun(&p); } void fun(point *p) { p->x++; p->y--; } 這是我今天面試某bios出的題目 趁印象還深快上來發問 程式碼大概就是上述這樣(沒有完全背下來) Q:fun(*p)改成fun(&p)然後p值要一樣要怎麼改 我是寫 void fun(point&p) { (**p).x++; (**p).y--; } 面試官說這只有c++能這樣用而且這樣好像也不對 可是回家用devc++跑void fun(point&p) 一直編譯沒過 想請問這樣是要怎麼改 還是牽涉到什麼觀念 ----- Sent from JPTT on my LGE LG-D838. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.83.54.47 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1485418918.A.3DE.html
sorryla: 參數的&是reference 不是pointer的pointer 01/26 16:24
james732: http://ideone.com/qzaBF8 C++ Reference的寫法 01/26 16:41
wilson50101: 1f 這我剛剛有查到 01/26 16:50
wilson50101: 2f c++這樣我瞭了 01/26 16:50
wilson50101: 可是這題是要用c寫 01/26 16:50
wilson50101: c就不能這樣用了哈哈 01/26 16:50
ko27tye: 所以這題要考啥XD 明明用c卻叫你把function改成用 01/26 17:03
ko27tye: Reference 01/26 17:03
wilson50101: 我也不知道 我這輩子寫c還沒遇見副程式參數有&的 01/26 17:12
LPH66: 所以會不會其實你搞錯面試官在問的東西了... 01/26 17:14
wilson50101: void fun(point&);一開始宣告就不會過了 01/26 17:14
asd456fgh778: 鳥題目 01/26 17:15
wilson50101: 我查到是c沒有by reference只有c++有 所以是不是有特 01/26 17:16
wilson50101: 殊寫法技巧阿 01/26 17:16
stupid0319: 公司面試這種題目,原PO會想進去嗎...... 01/26 17:41
wilson50101: insyde考的 01/26 17:47
wilson50101: 應該是有正解 不過我的實力看不出來 01/26 17:47
wilson50101: 還是我題目記錯 不過應該89不離十 01/26 17:49
LPH66: 八奇一點想說不定就是要考你有沒有跟 C++ 搞混 (X 01/26 17:50
wilson50101: 有沒有面試過insyde的現身說法一下阿 01/26 17:54
chuegou: 原程式那裡有fun(*p)? 01/27 01:55
asd456fgh778: 樓上第四行有原型 01/27 03:13
wilson50101: 阿好像是改成fun(&P) 01/27 10:16
wilson50101: 小p大P有差哦 01/27 10:16
firose: 浪費時間 01/27 14:03
yvb: 我覺得, 往上七樓 L大 的水晶球又發光了... 01/28 01:30
yvb: 意思就是, 我覺得, 面試官回答的前半句, "只有c++能" 01/28 01:30
yvb: 就是答案. 而後半句則是說, 就算是C++, 你還是寫錯. 01/28 01:31
james732: 樓上XDDDD 01/28 10:29
asd456fgh778: 完全不明白正確解 01/28 10:37
ahwater01: C沒有reference吧? 是說bios很少用C++,會不會是你搞錯 01/28 12:04
ahwater01: 意思了 01/28 12:05
wilson50101: 也有可能我搞錯了 不好意思 01/28 13:39
wilson50101: 有機會再去問問吧 01/28 13:40
ariesd: 我在BIOS的source code中還真沒看過fun(&p)這寫法 02/03 14:01