C/C++ 语言新手十三诫 -- Ver. 2016

楼主: wtchen (没有存在感的人)   2016-06-07 20:58:52
C/C++ 语言新手十三诫(The Thirteen Commandments for Newbie C/C++ Programmers)
by Khoguan Phuann
请注意:
(1) 本篇旨在提醒新手,避免初学常犯的错误(其实老手也常犯:-Q)。
但不能取代完整的学习,请自己好好研读一两本 C 语言的好书,
并多多实作练习。
(2) 强烈建议新手先看过此文再发问,你的问题极可能此文已经提出并
解答了。
(3) 以下所举的错误例子如果在你的电脑上印出和正确例子相同的结果,
那只是不足为恃的一时侥幸。
(4) 不守十三诫者,轻则执行结果的输出数据错误,或是程式当掉,重则
引爆核弹、毁灭地球(如果你的 C 程式是用来控制核弹发射器的话)。
=============================================================
目录: (页码/行号) 2/24
01. 不可以使用尚未给予适当初值的变量 3/46
02. 不能存取超过阵列既定范围的空间 5/90
03. 不可以提取不知指向何方的指标 7/134
04. 不要试图用 char* 去更改一个"字串常数" 12/244
05. 不能在函式中回传一个指向区域性自动变量的指标 16/332
06. 不可以只做 malloc(), 而不做相应的 free() 19/398
07. 在数值运算、赋值或比较中不可以随意混用不同型别的数值 21/442
08. ++i/i++/
楼主: wtchen (没有存在感的人)   2016-06-07 21:05:00
有错请指正
作者: kikiqqp (喵食罐头)   2016-06-08 15:19:00
 
作者: Hazukashiine (私は幸せです)   2016-06-08 22:20:00
                        
作者: Davidhu127 (船船_BTTO)   2016-08-24 05:56:00
多谢!长知识了~ (更清楚了malloc,二维阵列ref,fragmentation)
作者: zzzz8931 (肥宅)   2016-08-30 13:01:00
作者: kobe200525 (leo)   2016-09-30 21:35:00
推~
作者: a620699999 (hihihi)   2015-04-15 13:44:00
作者: hpyhacking (骇人听闻)   2015-05-19 21:23:00
作者: DemonElf (LdsFish)   2015-03-23 05:00:00
感谢分享!
作者: anarch (安那其)   2016-07-01 20:43:00
谢谢分享
作者: leviliang (levi)   2016-07-22 15:06:00
推!
作者: mythnc (迷小心)   2015-05-12 00:35:00
真的有在做事,比前板主好多了 :)
作者: siuoly (放空)   2015-05-01 21:53:00
谢谢 第十二条有帮助到我 程式深入的细节真的很难找资源
作者: Jeremy174   2016-08-01 11:09:00
已收藏
作者: imp334 (imp334)   2016-08-21 22:43:00
作者: James7878978 (日夏)   2015-03-27 21:40:00
作者: a58524andy (a58524andy)   2015-05-20 13:10:00
关于08.的"x=x++"的UB,这条SO有说明原因https://stackoverflow.com/a/47509458/9933842
作者: filialpiety4   2015-06-06 23:18:00
感谢~对初学者受益良多
作者: dzwei (Cout<< *p << \n ;)   2016-11-14 13:03:00
关于12. 如果是dynamic array,就得用pointer to pointer传递至func了, 详见https://tinyurl.com/4bbd75bh

Links booklink

Contact Us: admin [ a t ] ucptt.com