比如在程式的開頭這樣寫:
typedef int MazeType[5][6];
MazeType m;
第一句是什么意思?不是說typedef只是一些已存在的變數取一個新的名字嗎,這樣寫難道是定義了一個int 型別的陣列
既然第一條句定義了這么一個陣列,第二句又是什么?
uj5u.com熱心網友回復:
宣告MazeType是一個二維陣列型別的別名定義變數 m
uj5u.com熱心網友回復:
typedef int MazeType[5][6];MazeType m;
相當于int m[5][6]
uj5u.com熱心網友回復:
基本上就是用代入法,多看幾次也就習慣了。uj5u.com熱心網友回復:
這種語法太冷門,一般的語法書都語焉不詳uj5u.com熱心網友回復:
不冷門哦。。當你寫的程式種類夠多的時候,你就會發現,在寫有些程式的時候,看見那一長串的型別名稱真的是很頭疼的。。
比如:
list<int>::iterator m_itrListUser;
每次再為容器定義一個迭代器的時候,型別名稱要寫很長。。。
但是如果在程式開頭就換個名字:
typedef list<int>::iterator itrIntList;
那么以后就只需要寫:
itrIntList m_itrListUser;
就好了。。
不管是從代碼美觀角度,還是易讀性,還是打字效率,都有提升的。。
uj5u.com熱心網友回復:
typedef int MazeType[5][6];可以這樣看:
把typedef 和 MazeType 去掉,MazeType 型別就是 int[5][6]
uj5u.com熱心網友回復:
學資料結構之前要學離散數學嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/74442.html
標籤:基礎類
上一篇:CodeGear2007撰寫的VCL程式,在Win7,Win2008等上視窗最大化時,alClient的控制元件不能自適應,切換下又會好了,為什么?怎么解決呢?
