C語言指針專題——指針怎麼就很靈活?

最近在研讀 C Primer pkus(第五版)中文版,老外寫的仍是很經典的,推薦給朋友們,購買地址:C primer plus 5版中文版購買程序員

另外再推薦兩本書:面試

1. 2017年9月全國計算機二級c語言程序設計上機考試新版題庫全真模擬試卷全套,購買地址:2017年9月全國計算機二級c語言
2. 程序員面試寶典(第5版)第五版:程序員面試寶典(第5版)第五版
windows

本篇再來談談C語言中,爲什麼有人會說指針很靈活?指針是精華?我來講說我對靈活性的理解。spa

先舉個例子。windows上有不少好玩的遊戲,好比我大學時喜歡玩的三國爭霸的遊戲,遊戲的內容就是給我一片空地,讓我在空地上建造房屋,有了房屋就能生產農夫,有了農夫就能種地生產糧食,建造兵工廠,生產武器,農夫還能變成士兵等等。等到本身的實力壯大了,就能去攻擊對方的城池。設計

這款遊戲是一個exe程序,雙擊就能玩。但是玩着玩着,我發現若是農夫都掛了,糧食都吃完了,兵器都打完了,那我不就坐着被別人滅嗎?不行,我要改源碼。突然天空一聲響,源碼來到個人面前,而且傳來了上帝的聲音「小玩怡情,大玩上身」。感謝帝哥給我源碼,我就把對我不利的代碼統統改掉,想改哪裏改哪裏,很是方便,很是靈活,我把代碼改爲能夠生產無窮多的農夫,無窮多的糧食,無窮多的兵器,因而我成爲了無敵手!可是我也有改錯的地方,遊戲運行一段時間就會報錯,並且畢現,估計是哪裏被改出問題了!指針

再回到指針,我可使用指針直接操做內存,讀也好,寫也好,怎麼樣都好,我就是能夠用指針訪問內存,內存的數據盡在我手中,內存的命運盡在我手中,我想讀哪裏的數據,我想往哪裏寫什麼數據,都隨我意。就像我在修改三國爭霸源碼同樣,怎麼對我有利,我就怎麼改,是否是很靈活!固然,若是指針操做不當,訪問內存不當,如越界訪問,野指針等,也會帶來不少的問題,就像我改三國爭霸遊戲源碼同樣,哪裏改錯了我都不知道。遊戲

指針是個雙刃劍,用的好,會給你帶來不少的好處,用的很差也會給你帶來不少的壞處!內存

相關文章
相關標籤/搜索