锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 涓銆佺煡璇嗙偣 string瀵硅薄鍒濆鍖栨柟寮?/span> string s1; 榛樿鏋勯犲嚱鏁幫紝s1涓虹┖涓?/span> string s2(s1) 灝?/span>s2鍒濆鍖栦負s1鐨勪竴涓壇鏈?/span> string s3(“Value”); 灝?/span>s3鍒濆鍖栦負涓涓瓧絎︿覆瀛楅潰鍊肩殑鍓湰 string s4(n, ‘c’); 灝?/span>s4鍒濆鍖栦負瀛楃‘c’鐨?/span>n涓壇鏈?/span> 錛?錛夈乻tring綾誨瀷鐨勮緭鍏ユ搷浣滅鍜実etline鍑芥暟 Cctype瀹氫箟鐨勫嚱鏁?/span> isalnum(c) 濡傛灉c鏄瓧姣嶅拰鏁板瓧錛屽垯涓?/span>true isalpha(c) 濡傛灉c鏄瓧姣嶏紝鍒欎負true isdigit(c) 濡傛灉c鏄暟瀛楋紝鍒欎負true isxdigit(c) 濡傛灉c鏄崄鍏繘鍒舵暟錛屽垯涓?/span>true iscntrl(c) 濡傛灉c鏄帶鍒跺瓧絎︼紝鍒欎負true ispunct(c) 濡傛灉c鏄爣鐐圭鍙鳳紝鍒欎負true isspace(c) 濡傛灉c鏄┖鐧藉瓧絎︼紝鍒欎負true isprint(c) 濡傛灉c鏄彲鎵撳嵃鐨勫瓧絎︼紝鍒欎負true isgraph(c) 濡傛灉c涓嶆槸絀烘牸錛屼絾鍙互鎵撳嵃錛屽垯涓?/span>true islower(c) 濡傛灉c鏄皬鍐欏瓧姣嶏紝鍒欎負true isupper(c) 濡傛灉c鏄ぇ鍐欏瓧姣嶏紝鍒欎負true tolower(c) 濡傛灉c鏄ぇ鍐欏瓧姣嶏紝鍒欒繑鍥炲叾灝忓啓瀛楁瘝褰㈠紡錛屽惁鍒欑洿鎺ヨ繑鍥?/span>c toupper(c) 濡傛灉c鏄ぇ鍐欏瓧姣嶏紝鍒欒繑鍥炲叾灝忓啓瀛楁瘝褰㈠紡錛屽惁鍒欑洿鎺ヨ繑鍥?/span>c 寮曠敤錛坮eference錛夊氨鏄璞$殑鍙︿竴涓悕縐幫紱闈瀋ongst寮曠敤鍙兘緇戝畾鍒頒笌璇ュ紩鐢ㄧ浉鍚岀被鍨嬬殑瀵規柟涓婏紝const寮曠敤鍙互緇戝畾鍒頒笉鍚屼絾鐩稿叧鐨勭被鍨嬪璞℃垨緇戝畾鍒板彸鍊箋?/p>
閲嶇偣錛歝onst寮曠敤錛屾寚鍚慶onst瀵硅薄鐨勫紩鐢ㄣ?
3銆乼ypedef typedef鍙互鐢ㄦ潵瀹氫箟綾誨瀷鐨勫悓涔夎瘝銆傛牸寮忎負錛歵ypedef + 鏁版嵁綾誨瀷 + 鏍囪瘑絎︺?/p>
4銆佹灇涓撅紙enum錛?/p>
鏍煎紡錛歟num enumName(l鍙? {enumerator1錛?enumerator2錛?..} 錛?錛夈佹灇涓炬垚鍛橀兘鏄父閲忚〃杈懼紡錛堝湪緙栬瘧鍣ㄧ紪璇戞槸灝辮兘璁$畻鍑虹粨鏋滅殑鏁村瀷琛ㄨ揪寮忥紝鎴栨暣鍨嬪瓧闈㈠煎父閲忥級錛?/p>
錛?錛夈侀粯璁ょ殑絎竴涓灇涓炬垚鍛樻槸0錛屽悗闈㈢殑姣忎釜鏋氫婦鎴愬憳閮芥瘮鍓嶄竴涓ぇ1錛?/p>
錛?錛夈佹灇涓炬垚鍛樺間笉鏄敮涓鐨勶細enum Points { p1 = 1, p2, p3 = 2, p4}錛岃繖鍏朵腑p1=1,p2=2,p3=2,p4=3錛?/p>
錛?錛夈佹灇涓劇被鍨嬬殑瀵硅薄鍒濆鍖栨垨璧嬪兼椂錛屽彧鑳介氳繃璇ョ被鍨嬫灇涓劇殑鏌愪釜鎴愬憳榪涜銆?/p>
5銆佺被綾誨瀷 娉ㄦ剰class鍜宻truct鐨勫尯鍒細鍞竴鍖哄埆錛?span style="color: #ff0000">榛樿鎯呭喌涓嬶紝struct鐨勬垚鍛樹負public錛宑lass鐨勬垚鍛樹負private銆?/span> 6銆佸ご鏂囦歡 鍦╟onst鍙橀噺鏄敤甯擱噺琛ㄨ揪寮忓垵濮嬪寲鏃訛紝鍙互灝嗗畠瀹氫箟鍦ㄥご鏂囦歡涓紱濡傛灉涓嶆槸錛屽垯涓嶅簲璇ュ湪澶存枃浠朵腑瀹氫箟銆?/p>
]]>
1銆佸懡鍚嶇┖闂寸殑using澹版槑
2銆佹爣鍑嗗簱string綾誨瀷
3銆佹爣鍑嗗簱vector綾誨瀷
4銆佽凱浠e櫒綆浠?br /> 5銆佹爣鍑嗗簱bitset綾誨瀷
浜屻佽鐐?/strong>
1銆佸懡鍚嶇┖闂寸殑using澹版槑
浣跨敤using澹版槑鍙互鍦ㄤ笉闇瑕佸姞鍓嶇紑namespace_name錛氾細鐨勬儏鍐典笅璁塊棶鍛藉悕絀洪棿涓殑鍚嶅瓧錛屾牸寮忓錛?span style="color: #0000ff">using namespace::name;
2銆佹爣鍑嗗簱string綾誨瀷
string綾誨瀷鐨勮緭鍏ユ搷浣滅錛氳鍙栧茍蹇界暐寮澶存墍鏈夌殑絀虹櫧瀛楃錛堢┖鏍箋佹崲琛岀銆佸埗琛ㄧ錛夛紱璇誨彇瀛楃鐩村埌鍐嶆閬囧埌絀虹櫧瀛楃錛岃鍙栫粨鏉熴?br /> getline鍑芥暟錛氬寘鍚?涓弬鏁幫紝杈撳叆嫻佸璞″拰string瀵硅薄錛涜鍙栧唴瀹圭洿鍒扮鍒版崲琛岀錛屼絾騫朵笉鍖呮嫭鎹㈣絎︼紙瀹冧笉蹇界暐寮澶寸殑鎹㈣絎︼紝濡傛灉鏈夛紝閭d箞榪欐鐨勮鍙栧唴瀹逛負絀猴級
錛?錛夈乻tring::size_type綾誨瀷
string::size_type鏄竴縐嶄笌鏈哄櫒鏃犲叧鐨勩佹棤絎﹀彿鐨勬暣鍨嬬被鍨嬶紙int錛宭ong閮藉彲鑳斤級錛屽畠鍙互淇濆瓨浠繪剰string瀵硅薄鐨勯暱搴︺?br />
錛?錛夈佷笌瀛楃涓插瓧闈㈠艱繛鎺ョ殑娉ㄦ剰鐐?br />
string s1 = "hello";
string s2 = "world";
string s3 = s1 + " "; // ok
string s4 = "hello" + " "; // error錛氫笉鑳?涓瓧闈覆瀛楅潰鍊肩浉鍔?/span>
string s5 = s1 + " " + "world"; // ok錛歴1鍜? "鐩稿姞鍚庤繕鏄竴涓柊鐨剆tring瀵硅薄錛屽彲浠ュ拰鍚庨潰鐨勭浉鍔?/span>
string s6 = "hello" + " " + s2; // error錛氬墠闈?涓氨鐩稿綋浜庡瓧闈覆瀛楅潰鍊肩浉鍔?br />
錛?錛夈乻tring瀵硅薄涓瓧絎︾殑澶勭悊
涓昏鏄敤鍒癱ctype澶存枃浠朵腑瀹氫箟鐨勫嚱鏁幫紝濡備笅錛?nbsp;
]]>
1銆佸熀鏈唴緗被鍨嬶紙綆楁湳綾誨瀷鍜寁oid綾誨瀷錛?br />
2銆佸瓧闈㈠煎父閲忓拰鍙橀噺
3銆乧onst闄愬畾絎?br />
4銆佸紩鐢?br />
5銆乼ypedef鍚嶅瓧
6銆佹灇涓?br />
7銆佺被綾誨瀷
8銆佸ご鏂囦歡
浜屻佽鐐?/strong>
1銆乧onst闄愬畾絎?br />
欖旀暟錛氬湪涓婁笅鏂囦腑娌℃湁浣撶幇鍑烘潵錛屽ソ鍍忚繖涓暟鏄瓟鏈埇鐨勪粠絀轟腑鍑虹幇鐨勩傚涓嬮潰鐨?#8220;512”榪欎釜鏁?nbsp;
for (int i = 0; i != 512; ++i) {
//
..
}
浣跨敤const闄愬畾絎﹂渶娉ㄦ剰錛?br />
錛?錛夈佸畾涔夌殑const鐨勫彉閲忎粛闅炬槸涓涓乏鍊鹼紝浣嗘槸榪欎釜宸﹀兼槸涓嶅彲淇敼鐨勶紱涓斿湪瀹氫箟鏃跺繀欏誨垵濮嬪寲錛?br />
錛?錛夈乧onst鍙橀噺榛樿閮芥槸鏂囦歡灞閮ㄧ殑錛屽鏋滄兂琚叾浠栨枃浠惰闂紝蹇呴』鍦ㄥ墠闈㈠姞鍏xtern銆傚錛?
file_1.cpp:
extern const int bufszie = 512; // 瀹氫箟錛岄渶瑕佽祴鍒濆?/span>

fiel_2.cpp:
extern const int bufsize;

.
for (int i = 0; i != bufsize錛?++i) {
//
.
}
2銆佸紩鐢?br />
const int &refVal = ival; // 榪欎釜鏄紜殑璧嬪?/span>
int &ref2 = ival; // 榪欎釜鏄敊璇殑璧嬪鹼紙ref2鏄彲浠ラ噸鏂拌祴鍊鹼紝榪欐牱瀵艱嚧ival鐨勫間細琚敼鍙橈紝浣唅val鏄痗onst鐨勶紝鎵浠ヨ繖鏍瘋祴鍊兼槸涓嶅厑璁哥殑錛?/span>
2銆佸垵濮嬪寲
double dval = 42.12;
const int &r1 = 42; // 鐢ㄥ彸鍊鹼紙瀛楅潰鍊煎父閲忥級鍒濆鍖?/span>
const int &r2 = dval; // 鐢ㄤ笉鍚岄偅涓被鍨嬬殑瀵硅薄鍒濆鍖栵紝榪欓噷鐨剅2 = 42銆傚鏋渞2涓嶆槸const鐨勮瘽錛岃繖鏍峰垵濮嬪寲鏄敊璇殑銆?/span>
榪欎釜澶у鐪嬩笉鍑烘潵鍖哄埆鐨勮瘽閭f垜涓句釜渚嬪瓙:
int* a[]; int (*a)[];
鍓嶈呮槸鎸囬拡鏁扮粍錛屾暟緇勯噷姣忎釜鍏冪礌鏄寚閽堬紝鍚庤呮槸鏁扮粍鎸囬拡錛岃繖涓?*a)[]鎸囧悜涓涓暟緇勭殑鍦板潃銆?/span>
鍐嶇湅涓嬩釜渚嬪瓙:
int* a(); int (*a)();
鍓嶈呰繑鍥炰竴涓暣褰㈡寚閽堬紝鍚庤呮槸鍑芥暟鎸囬拡錛屾寚鍚戜竴涓嚱鏁扮殑鍦板潃;
涔熷氨鏄
int* a; a鏄竴涓暣褰㈡寚閽堝瀷鍙橀噺
int *a; a鏈韓鏄寚閽堬紝瀛樺偍鏁村艦鍙橀噺鐨勫湴鍧
灝辨晥鏋滄潵璇磋繖涓よ呯瓑浠鳳紝鍙兘鏈夌偣鏅曪紝瀵規瘮涓嬩笂闈㈢殑渚嬪瓙鐞嗚В涓嬪氨濂戒簡銆?/span>
struct MyData 

{
int nLen;
char data[0];
};
#include <iostream>
using namespace std;
struct MyData 

{
int nLen;
char data[0];
};
int main()

{
int nLen = 10;
char str[10] = "123456789";
cout << "Size of MyData: " << sizeof(MyData) << endl;
MyData *myData = (MyData*)malloc(sizeof(MyData) + 10);
memcpy(myData->data, str, 10);
cout << "myData's Data is: " << myData->data << endl;
free(myData);
return 0;
}
Size of MyData: 4
myData's Data is: 123456789鍦–/C++璇█涓紝typedef甯哥敤鏉ュ畾涔変竴涓爣璇嗙鍙婂叧閿瓧鐨勫埆鍚嶏紝瀹冩槸璇█緙栬瘧榪囩▼鐨勪竴閮ㄥ垎錛屼絾瀹冨茍涓嶅疄闄呭垎閰嶅唴瀛樼┖闂達紝瀹炰緥鍍忥細
typedef int INT;
typedef int ARRAY[10];
typedef (int*) pINT;
typedef鍙互澧炲己紼嬪簭鐨勫彲璇繪э紝浠ュ強鏍囪瘑絎︾殑鐏墊椿鎬э紝浣嗗畠涔熸湁“闈炵洿瑙傛?#8221;絳夌己鐐廣?/p>
浜屻?define鐨勭敤娉?/p>
#define涓轟竴瀹忓畾涔夎鍙ワ紝閫氬父鐢ㄥ畠鏉ュ畾涔夊父閲?鍖呮嫭鏃犲弬閲忎笌甯﹀弬閲?錛屼互鍙婄敤鏉ュ疄鐜伴偅浜?#8220;琛ㄩ潰浼煎拰鍠勩佽儗鍚庝竴闀夸覆”鐨勫畯錛屽畠鏈韓騫朵笉鍦ㄧ紪
璇戣繃紼嬩腑榪涜錛岃屾槸鍦ㄨ繖涔嬪墠(棰勫鐞嗚繃紼?/span>)灝卞凡緇忓畬鎴愪簡錛屼絾涔熷洜姝ら毦浠ュ彂鐜版綔鍦ㄧ殑閿欒鍙婂叾瀹冧唬鐮佺淮鎶ら棶棰橈紝瀹冪殑瀹炰緥鍍忥細
#define INT int
#define TRUE 1
#define Add(a,b) ((a)+(b));
#define Loop_10 for (int i=0; i<10; i++)
鍦⊿cott Meyer鐨凟ffective C++涓涔︾殑鏉℃1涓湁鍏充簬#define璇彞寮婄鐨勫垎鏋愶紝浠ュ強濂界殑鏇夸唬鏂規硶錛屽ぇ瀹跺彲鍙傜湅銆?/p>
涓夈乼ypedef涓?define鐨勫尯鍒?/p>
浠庝互涓婄殑姒傚康渚夸篃鑳藉熀鏈竻妤氾紝typedef鍙槸涓轟簡澧炲姞鍙鎬ц屼負鏍囪瘑絎﹀彟璧風殑鏂板悕縐?浠呬粎鍙槸涓埆鍚?錛岃?define鍘熸湰鍦–涓槸涓轟簡瀹氫箟甯擱噺
錛屽埌浜咰++錛宑onst銆乪num銆乮nline鐨勫嚭鐜頒嬌瀹冧篃娓愭笎鎴愪負浜嗚搗鍒悕鐨勫伐鍏楓傛湁鏃跺緢瀹規槗鎼炰笉娓呮涓巘ypedef涓よ呭埌搴曡鐢ㄥ摢涓ソ錛屽#define
INT int榪欐牱鐨勮鍙ワ紝鐢╰ypedef涓鏍峰彲浠ュ畬鎴愶紝鐢ㄥ摢涓ソ鍛紵鎴戜富寮犵敤typedef錛屽洜涓哄湪鏃╂湡鐨勮澶欳緙栬瘧鍣ㄤ腑榪欐潯璇彞鏄潪娉曠殑錛屽彧鏄幇浠婄殑
緙栬瘧鍣ㄥ張鍋氫簡鎵╁厖銆備負浜嗗敖鍙兘鍦板吋瀹癸紝涓鑸兘閬靛驚#define瀹氫箟“鍙”鐨勫父閲忎互鍙婁竴浜涘畯璇彞鐨勪換鍔★紝鑰宼ypedef鍒欏父鐢ㄦ潵瀹氫箟鍏抽敭瀛椼佸啑
闀跨殑綾誨瀷鐨勫埆鍚嶃?/p>
瀹忓畾涔夊彧鏄畝鍗曠殑瀛楃涓蹭唬鎹?鍘熷湴鎵╁睍)錛岃宼ypedef鍒欎笉鏄師鍦版墿灞曪紝瀹冪殑鏂板悕瀛楀叿鏈変竴瀹氱殑灝佽鎬э紝浠ヨ嚧浜庢柊鍛藉悕鐨勬爣璇嗙鍏鋒湁鏇存槗瀹氫箟鍙?/p>
閲忕殑鍔熻兘銆傝鐪嬩笂闈㈢涓澶х偣浠g爜鐨勭涓夎錛?/p>
typedef (int*) pINT;
浠ュ強涓嬮潰榪欒:
#define pINT2 int*
鏁堟灉鐩稿悓錛熷疄鍒欎笉鍚岋紒瀹炶返涓宸埆錛歱INT a,b;鐨勬晥鏋滃悓int *a; int *b;琛ㄧず瀹氫箟浜嗕袱涓暣鍨嬫寚閽堝彉閲忋傝宲INT2 a,b;鐨勬晥鏋滃悓int *a, b;
琛ㄧず瀹氫箟浜嗕竴涓暣鍨嬫寚閽堝彉閲廰鍜屾暣鍨嬪彉閲廱銆?/p>
typedef鐨勫洓涓敤閫斿拰涓や釜闄烽槺
鐢ㄩ斾竴錛?
瀹氫箟涓縐嶇被鍨嬬殑鍒悕錛岃屼笉鍙槸綆鍗曠殑瀹忔浛鎹€傚彲浠ョ敤浣滃悓鏃跺0鏄庢寚閽堝瀷鐨勫涓璞°傛瘮濡傦細
char* pa, pb; // 榪欏鏁頒笉絎﹀悎鎴戜滑鐨勬剰鍥撅紝瀹冨彧澹版槑浜嗕竴涓寚鍚戝瓧絎﹀彉閲忕殑鎸囬拡錛?#160;
// 鍜屼竴涓瓧絎﹀彉閲忥紱
浠ヤ笅鍒欏彲琛岋細
typedef char* PCHAR; // 涓鑸敤澶у啓
PCHAR pa, pb; // 鍙錛屽悓鏃跺0鏄庝簡涓や釜鎸囧悜瀛楃鍙橀噺鐨勬寚閽?
铏界劧錛?
char *pa, *pb;
涔熷彲琛岋紝浣嗙浉瀵規潵璇存病鏈夌敤typedef鐨勫艦寮忕洿瑙傦紝灝ゅ叾鍦ㄩ渶瑕佸ぇ閲忔寚閽堢殑鍦版柟錛宼ypedef鐨勬柟寮忔洿鐪佷簨銆?
鐢ㄩ斾簩錛?
鐢ㄥ湪鏃х殑C浠g爜涓紙鍏蜂綋澶氭棫娌℃湁鏌ワ級錛屽府鍔﹕truct銆備互鍓嶇殑浠g爜涓紝澹版槑struct鏂板璞℃椂錛屽繀欏昏甯︿笂struct錛屽嵆褰㈠紡涓猴細 struct 緇撴瀯鍚?#160; 瀵硅薄鍚嶏紝濡傦細
struct tagPOINT1
{
int x;
int y;
};
struct tagPOINT1 p1;
鑰屽湪C++涓紝鍒欏彲浠ョ洿鎺ュ啓錛氱粨鏋勫悕 瀵硅薄鍚嶏紝鍗籌細
tagPOINT1 p1;
浼拌鏌愪漢瑙夊緱緇忓父澶氬啓涓涓猻truct澶夯鐑︿簡錛屼簬鏄氨鍙戞槑浜嗭細
typedef struct tagPOINT
{
int x;
int y;
}POINT;
POINT p1; // 榪欐牱灝辨瘮鍘熸潵鐨勬柟寮忓皯鍐欎簡涓涓猻truct錛屾瘮杈冪渷浜嬶紝灝ゅ叾鍦ㄥぇ閲忎嬌鐢ㄧ殑鏃跺?
鎴栬錛屽湪C++涓紝typedef鐨勮繖縐嶇敤閫斾簩涓嶆槸寰堝ぇ錛屼絾鏄悊瑙d簡瀹冿紝瀵規帉鎻′互鍓嶇殑鏃т唬鐮佽繕鏄湁甯姪鐨勶紝姣曠珶鎴戜滑鍦ㄩ」鐩腑鏈夊彲鑳戒細閬囧埌杈冩棭浜涘勾浠i仐鐣欎笅鏉ョ殑浠g爜銆?
鐢ㄩ斾笁錛?
鐢╰ypedef鏉ュ畾涔変笌騫沖彴鏃犲叧鐨勭被鍨嬨?
姣斿瀹氫箟涓涓彨 REAL 鐨勬誕鐐圭被鍨嬶紝鍦ㄧ洰鏍囧鉤鍙頒竴涓婏紝璁╁畠琛ㄧず鏈楂樼簿搴︾殑綾誨瀷涓猴細
typedef long double REAL;
鍦ㄤ笉鏀寔 long double 鐨勫鉤鍙頒簩涓婏紝鏀逛負錛?
typedef double REAL;
鍦ㄨ繛 double 閮戒笉鏀寔鐨勫鉤鍙頒笁涓婏紝鏀逛負錛?
typedef float REAL;
涔熷氨鏄錛屽綋璺ㄥ鉤鍙版椂錛屽彧瑕佹敼涓?#160; typedef 鏈韓灝辮錛屼笉鐢ㄥ鍏朵粬婧愮爜鍋氫換浣曚慨鏀廣?
鏍囧噯搴撳氨騫挎硾浣跨敤浜嗚繖涓妧宸э紝姣斿size_t銆?
鍙﹀錛屽洜涓簍ypedef鏄畾涔変簡涓縐嶇被鍨嬬殑鏂板埆鍚嶏紝涓嶆槸綆鍗曠殑瀛楃涓叉浛鎹紝鎵浠ュ畠姣斿畯鏉ュ緱紼沖仴錛堣櫧鐒剁敤瀹忔湁鏃朵篃鍙互瀹屾垚浠ヤ笂鐨勭敤閫旓級銆?
鐢ㄩ斿洓錛?
涓哄鏉傜殑澹版槑瀹氫箟涓涓柊鐨勭畝鍗曠殑鍒悕銆傛柟娉曟槸錛氬湪鍘熸潵鐨勫0鏄庨噷閫愭鐢ㄥ埆鍚嶆浛鎹竴閮ㄥ垎澶嶆潅澹版槑錛屽姝ゅ驚鐜紝鎶婂甫鍙橀噺鍚嶇殑閮ㄥ垎鐣欏埌鏈鍚庢浛鎹紝寰楀埌鐨勫氨鏄師澹版槑鐨勬渶綆鍖栫増銆備婦渚嬶細
1. 鍘熷0鏄庯細int *(*a[5])(int, char*);
鍙橀噺鍚嶄負a錛岀洿鎺ョ敤涓涓柊鍒悕pFun鏇挎崲a灝卞彲浠ヤ簡錛?
typedef int *(*pFun)(int, char*);
鍘熷0鏄庣殑鏈綆鍖栫増錛?
pFun a[5];
2. 鍘熷0鏄庯細void (*b[10]) (void (*)());
鍙橀噺鍚嶄負b錛屽厛鏇挎崲鍙寵竟閮ㄥ垎鎷彿閲岀殑錛宲FunParam涓哄埆鍚嶄竴錛?
typedef void (*pFunParam)();
鍐嶆浛鎹㈠乏杈圭殑鍙橀噺b錛宲Funx涓哄埆鍚嶄簩錛?
typedef void (*pFunx)(pFunParam);
鍘熷0鏄庣殑鏈綆鍖栫増錛?
pFunx b[10];
3. 鍘熷0鏄庯細doube(*)() (*e)[9];
鍙橀噺鍚嶄負e錛屽厛鏇挎崲宸﹁竟閮ㄥ垎錛宲Funy涓哄埆鍚嶄竴錛?
typedef double(*pFuny)();
鍐嶆浛鎹㈠彸杈圭殑鍙橀噺e錛宲FunParamy涓哄埆鍚嶄簩
typedef pFuny (*pFunParamy)[9];
鍘熷0鏄庣殑鏈綆鍖栫増錛?
pFunParamy e;
鐞嗚В澶嶆潅澹版槑鍙敤鐨?#8220;鍙沖乏娉曞垯”錛?span style="COLOR: red">浠庡彉閲忓悕鐪嬭搗錛屽厛寰鍙籌紝鍐嶅線宸︼紝紕板埌涓涓渾鎷彿灝辮皟杞槄璇葷殑鏂瑰悜錛涙嫭鍙峰唴鍒嗘瀽瀹屽氨璺沖嚭鎷彿錛岃繕鏄寜鍏堝彸鍚庡乏鐨勯『搴忥紝濡傛寰幆錛岀洿鍒版暣涓0鏄庡垎鏋愬畬銆備婦渚嬶細
int (*func)(int *p);
棣栧厛鎵懼埌鍙橀噺鍚峟unc錛屽闈㈡湁涓瀵瑰渾鎷彿錛岃屼笖宸﹁竟鏄竴涓?鍙鳳紝榪欒鏄巉unc鏄竴涓寚閽堬紱鐒跺悗璺沖嚭榪欎釜鍦嗘嫭鍙鳳紝鍏堢湅鍙寵竟錛屽張閬囧埌鍦嗘嫭鍙鳳紝榪欒鏄?*func)鏄竴涓嚱鏁幫紝鎵浠unc鏄竴涓寚鍚戣繖綾誨嚱鏁扮殑鎸囬拡錛屽嵆鍑芥暟鎸囬拡錛岃繖綾誨嚱鏁板叿鏈塱nt*綾誨瀷鐨勫艦鍙傦紝榪斿洖鍊肩被鍨嬫槸int銆?
int (*func[5])(int *);
func鍙寵竟鏄竴涓猍]榪愮畻絎︼紝璇存槑func鏄叿鏈?涓厓绱犵殑鏁扮粍錛沠unc鐨勫乏杈規湁涓涓?錛岃鏄巉unc鐨勫厓绱犳槸鎸囬拡錛堟敞鎰忚繖閲岀殑*涓嶆槸淇グfunc錛岃屾槸淇グfunc[5]鐨勶紝鍘熷洜鏄痆]榪愮畻絎︿紭鍏堢駭姣?楂橈紝func鍏堣窡[]緇撳悎錛夈傝煩鍑鴻繖涓嫭鍙鳳紝鐪嬪彸杈癸紝鍙堥亣鍒板渾鎷彿錛岃鏄巉unc鏁扮粍鐨勫厓绱犳槸鍑芥暟綾誨瀷鐨勬寚閽堬紝瀹冩寚鍚戠殑鍑芥暟鍏鋒湁int*綾誨瀷鐨勫艦鍙傦紝榪斿洖鍊肩被鍨嬩負int銆?
涔熷彲浠ヨ浣?涓ā寮忥細
type (*)(....)鍑芥暟鎸囬拡
type (*)[]鏁扮粍鎸囬拡
錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?
闄烽槺涓錛?
璁頒綇錛宼ypedef鏄畾涔変簡涓縐嶇被鍨嬬殑鏂板埆鍚嶏紝涓嶅悓浜庡畯錛屽畠涓嶆槸綆鍗曠殑瀛楃涓叉浛鎹€傛瘮濡傦細
鍏堝畾涔夛細
typedef char* PSTR;
鐒跺悗錛?
int mystrcmp(const PSTR, const PSTR);
const PSTR瀹為檯涓婄浉褰撲簬const char*鍚楋紵涓嶆槸鐨勶紝瀹冨疄闄呬笂鐩稿綋浜巆har* const銆?
鍘熷洜鍦ㄤ簬const緇欎簣浜嗘暣涓寚閽堟湰韜互甯擱噺鎬э紝涔熷氨鏄艦鎴愪簡甯擱噺鎸囬拡char* const銆?
綆鍗曟潵璇達紝璁頒綇褰揷onst鍜宼ypedef涓璧峰嚭鐜版椂錛宼ypedef涓嶄細鏄畝鍗曠殑瀛楃涓叉浛鎹㈠氨琛屻?
闄烽槺浜岋細
typedef鍦ㄨ娉曚笂鏄竴涓瓨鍌ㄧ被鐨勫叧閿瓧錛堝auto銆乪xtern銆乵utable銆乻tatic銆乺egister絳変竴鏍鳳級錛岃櫧鐒跺畠騫朵笉鐪熸褰卞搷瀵硅薄鐨勫瓨鍌ㄧ壒鎬э紝濡傦細
typedef static int INT2; //涓嶅彲琛?
緙栬瘧灝嗗け璐ワ紝浼氭彁紺?#8220;鎸囧畾浜嗕竴涓互涓婄殑瀛樺偍綾?#8221;銆?/p>
緗戠粶瀛楄妭欏哄簭涓庢湰鍦板瓧鑺傞『搴忎箣闂寸殑杞崲鍑芥暟錛?br>
htonl()--"Host to Network Long"
ntohl()--"Network to Host Long"
htons()--"Host to Network Short"
ntohs()--"Network to Host Short"
涔嬫墍浠ラ渶瑕佽繖浜涘嚱鏁版槸鍥犱負璁$畻鏈烘暟鎹〃紺哄瓨鍦ㄤ袱縐嶅瓧鑺傞『搴忥細NBO涓嶩BO
緗戠粶瀛楄妭欏哄簭NBO錛圢etwork Byte Order錛夛細
鎸変粠楂樺埌浣庣殑欏哄簭瀛樺偍錛屽湪緗戠粶涓婁嬌鐢ㄧ粺涓鐨勭綉緇滃瓧鑺傞『搴忥紝鍙互閬垮厤鍏煎鎬ч棶棰樸?/p>
涓繪満瀛楄妭欏哄簭錛圚BO錛孒ost Byte Order錛夛細
涓嶅悓鐨勬満鍣℉BO涓嶇浉鍚岋紝涓嶤PU璁捐鏈夊叧錛屾暟鎹殑欏哄簭鏄敱cpu鍐沖畾鐨?鑰屼笌鎿嶄綔緋葷粺鏃犲叧銆?br>
濡?Intel x86緇撴瀯涓? short鍨嬫暟0x1234琛ㄧず涓?4 12, int鍨嬫暟0x12345678琛ㄧず涓?8 56 34 12
濡侷BM power PC緇撴瀯涓? short鍨嬫暟0x1234琛ㄧず涓?2 34, int鍨嬫暟0x12345678琛ㄧず涓?2 34 56 78
鐢變簬榪欎釜鍘熷洜涓嶅悓浣撶郴緇撴瀯鐨勬満鍣ㄤ箣闂存棤娉曢氫俊,鎵浠ヨ杞崲鎴愪竴縐嶇害瀹氱殑鏁板簭,涔熷氨鏄綉緇滃瓧鑺傞『搴?鍏跺疄灝辨槸濡傚悓power pc閭f牱鐨勯『搴?銆傚湪PC寮鍙戜腑鏈塶tohl鍜宧tonl鍑芥暟鍙互鐢ㄦ潵榪涜緗戠粶瀛楄妭鍜屼富鏈哄瓧鑺傜殑杞崲銆?/p>
PS錛氳漿鑷?a >http://www.cnblogs.com/heaad/archive/2009/07/16/1525112.html
#include <iostream>
int main()

{
std::cout << "Enter You Name:" << std::endl; //榪欓噷鍏堣緭鍑轟竴琛屼俊鎭?/span>
char name[50]; //瀹氫箟涓涓瓧絎﹀彉閲?/span>
std::cin >> name; //灝嗗鎴風殑杈撳叆杈撳叆鍒板彉閲忎腑
std::cout << name << ", Welecon to tiger's blog." << std::endl; //杈撳嚭
system("pause"); //鎺у埗鍦ㄦ渶鍚庢殏鍋?/span>
return 0;
}