main函數的argc與argv
眾多周知,C程序總是從main函數開始執行。main函數最根本的原型是int main(int argc,char *argv[]); 記得大學學C語言用的是譚浩強版的《C語言程序設計》,書中雖有argc和argv處,但是聽老師說括號內的只是參數,并且在后來的程序編寫過程中均用main(void),對argc與argv就未求甚解。
直到昨天Google(內事可以問百度,外事還真得問谷歌)了下,還真有不小的發現:argc代表argument count,即命令行參數的數目;argv代表argument vector,即指向參數的各個指針構成的數組。于是,寫了個小程序:
程序的功能其實很簡單,即把在命令行輸入的參數打印出來。
程序執行結果為:
./可執行程序
我們可以看到,包括./testMain共輸入了5個參數,而且參數的索引是從0到4。既提到索引,《Objective-C Programming》對8位的無符號整數可以保存0~255之間的整數給了另一種思路的解釋:8位,每位能存儲0或者1(即2種可能),那8位就是2^8=256,又因為計算機系統的計數是從0開始的,所以它的范圍是0~255。竊以為,這種解釋更深入計算機系統的本質。
來自: http://www.jianshu.com/p/d3a5f6de9c8a?utm_source=tuicool&utm_medium=referral
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!