锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1銆傚緇存暟緇勭殑鍗曚釜鍏冪礌鐨勫瓨鍌ㄥ拰寮曠敤瀹為檯涓婃槸浠ョ嚎鎬?褰㈠紡鎺掑垪鍦ㄥ唴瀛樹腑鐨勩?br />
2.浣跨敤鎸囬拡鍚戜竴涓嚱鏁頒紶閫掍竴涓緇存暟緇勩?br />myfunction(int my_array[][20]);
myfunction(char **my_array);
鍙傛暟蹇呴』鏄寚閽堟暟緇勶紝鑰屼笖蹇呴』鏄寚鍚戝瓧絎︿覆鐨勬寚閽堟暟緇勩?br />
char_array[rowsize *i +j]=....
灝嗕簩浣嶆暟緇勮漿鎹㈡垚浠ヤ負鏁扮粍
]]>
1.鏁扮粍鍜屾寚閽堛?br />
2 #include <stdlib.h>
3
4 void test(int arr[])
5 {
6 printf("In Func: size of the array is %d\n", sizeof(arr) ); //4 the pointer's size
7 }
8
9 void test_char(char arr[])
10 {
11 printf("In Func: sizeof the my_char is %d\n", sizeof(arr)); //4 the pointer's size
12 printf("In Func: strlen the my_char is %d\n", strlen(arr)); //11 the string's size
13 }
14
15 int main()
16 {
17 int array[100]={1,3,4,5};
18 char my_char[50]="hello world";
19
20 printf("In Main: sizeof the array is %d\n", sizeof( array) ); //400
21
22 printf("In Main: sizeof the my_char is %d\n", sizeof(my_char)); //50
23 printf("In Main: strlen the my_char is %d\n", strlen(my_char)); //11 the string's size
24
25 test(array);
26 test_char(my_char);
27 }
鍥犳錛屼絾test鍜宼est_char鍑芥暟涓紝sizeof錛坧ointer錛夌殑澶у皬閮芥槸4錛屼負鎸囬拡鐨勫ぇ灝忋?br />涔熷洜姝わ紝鍙兘浼犵粰鍑芥暟錛屾暟緇勭殑澶у皬錛屽洜涓烘棤娉曠敤sizeof鎺ㄥ嚭鏁扮粍鐨勫ぇ灝忋?br />
2.鏈変竴縐嶆搷浣滃彧鑳藉湪鎸囬拡閲岃繘琛岋紝鑰屾棤娉曞湪鏁扮粍涓繘琛岋紝灝辨槸淇敼瀹冪殑鍊箋?br />鏁扮粍鍚嶆槸涓嶅彲淇敼鐨勫乏鍊鹼紝浠栫殑鍊兼槸涓嶈兘鏀瑰彉鐨勩備篃鍙湅鍋氬父閲忔寚閽堛?br />
3.鏁扮粍鍜屾寚閽堢殑鍙氦鎹㈡ф葷粨
鐢╝[i]榪欐牱鐨勫艦寮忓鏁扮粍榪涜璁塊棶錛屾繪槸琚紪璇戝櫒“鏀瑰啓”鎴?(a+i)榪欐牱鐨勬寚閽堣闂?br />鎸囬拡濮嬬粓灝辨槸鎸囬拡銆傚畠緇濅笉鍙互鏀瑰啓鎴愭暟緇勩備綘鍙互鐢ㄤ笅鏍囧艦寮忚闂寚閽堬紝涓鑸兘鏄寚閽堜綔涓哄嚱鏁板弬鏁版椂鍊欙紝鑰屼笖浣犵煡閬撳疄闄呬紶閫掔粰鍑芥暟鐨勫氨鏄竴涓暟緇?br />鍦ㄧ壒瀹氫笂涓嬫枃涓紝涔熷氨鏄綔涓哄嚱鏁扮殑鍙傛暟錛屼竴涓暟緇勭殑澹版槑錛屽彲渚濈湅鍋氭槸涓涓寚閽堛備綔涓哄嚱鏁板弬鏁扮殑鏁扮粍錛屽緇堜細琚紪璇戝櫒鏀規垚鎸囧悜鏁扮粍鐨勭涓涓厓绱犵殑鎸囬拡銆?br />褰撴妸涓涓暟緇勫畾涔変負鍑芥暟鐨勫弬鏁版椂鍊欙紝鍙互閫夋嫨瀹氫箟涓烘暟緇勶紝涔熷彲浠ュ畾涔変負鎸囬拡錛屼笉綆$敤鍝鏂規硶錛屽湪鍑芥暟鍐呴儴浜嬪疄涓婅幏寰楃殑灝辨槸涓涓寚閽?br />鍦ㄥ叾浠栨墍鏈夋儏鍐碉紝瀹氫箟鍜屽0鏄庡繀欏葷浉鍖歸厤銆傚鏋滃畾涔変簡涓涓暟緇勶紝鍦ㄥ叾浠栨枃浠朵腑瀵瑰畠榪涜澹版槑鏃跺欙紝涔熷繀欏繪妸浠栧0鏄庝負鏁扮粍銆傛寚閽堜篃鏄竴鏍楓?br />
4.鏁扮粍鍚嶄笌鏁扮粍涓涓厓绱狅紝 涓庝綔涓哄弬鏁版椂錛岃緙栬瘧鍣ㄨ漿鎹負鐨勬寚閽堢殑鍏崇郴銆?br />
#include <stdlib.h>
void test_char(char arr[])
{
printf("In test_char()
.\n");
printf("addr of array param = %#x \n", &arr);
printf("content of array param = %#x \n", arr);
printf("addr of (arr[0]) = %#x \n", &arr[0]);
printf("addr of (arr[1]) = %#x \n", &arr[1]);
printf("++arr = %#x \n", ++arr);
}
int main()
{
//int array[100]={1,3,4,5};
char my_char[50]="hello world";
printf("addr of array head %x\n", &my_char);
printf("addr of my_char[0] %x\n", &(my_char[0]));
printf("addr of my_char[1] %x\n", &(my_char[1]));
//test(array);
test_char(my_char);
}
緇撴灉錛?br />
addr of my_char[0] bf8c0dfa
addr of my_char[1] bf8c0dfb
In test_char()
.
addr of array param = 0xbf8c0de0
content of array param = 0xbf8c0dfa
addr of (arr[0]) = 0xbf8c0dfa
addr of (arr[1]) = 0xbf8c0dfb
++arr = 0xbf8c0dfb
緇撴灉璇存槑錛?br />鏁扮粍鍚嶇殑鍦板潃涓庢暟緇勭涓涓厓绱犵殑鍦板潃鏄浉鍚岀殑銆?span style="color: red; ">鍥犳鏁扮粍鍚嶄笉鏄涓涓厓绱犵殑鎸囬拡錛岃屾槸絎竴涓厓绱狅紝闄や簡瀹冧笉鑳界洿鎺ュ彇鍑虹涓涓厓绱犮?br />鍦╰est_char 鍑芥暟涓?span style="color: red; ">鍙傛暟鐨勫湴鍧涓庢暟緇勭涓涓厓绱犵殑鍦板潃涓嶅悓錛岃屽弬鏁扮殑鍐呭鏄涓涓厓绱犵殑鍦板潃銆傝鏄庣紪璇戝櫒紜疄鐢ㄦ寚閽堝疄鐜頒簡鏁扮粍鐨勮闂傛寚閽?+鍚庯紝鎸囧悜鏁扮粍涓嬩竴涓厓绱犮?br />
]]>
]]>
1.int 鍙橀噺璺熷彧鍖呭惈涓涓猧nt 鎴愬憳鐨勭粨鏋勫彉閲忥紝鍦ㄤ紶閫掑弬鏁扮殑鏂瑰紡鍙兘瀹屽叏涓嶅悓銆備竴涓?int鍙傛暟涓鑸細浼犻掑埌瀵勫瓨鍣ㄤ腑錛岃岀粨鏋勫弬鏁板緢鍙兘琚紶閫掑埌鍫嗘爤涓?br />
2.鍦ㄧ粨鏋勪腑鏀劇疆鏁扮粍錛屽彲浠ヨ鏁扮粍褰撳仛絎竴絳夌駭綾誨瀷錛岀敤璧嬪艱鍙ユ嫹璐濇暣涓暟緇勩?br />
struct s_tag orange, lime;
int main()
{
int i;
for(i=0; i<100; i++) lime.a[i]=1;
orange=lime; //瀵規暣涓粨鏋勮祴鍊?/span>
}
3.union
涓轟簡鑺傜渷絀洪棿
涓轟簡鎶婁竴涓暟鎹В閲婁負涓ょ涓嶅悓鐨勪笢瑗褲?br />
4.enum
#define瀹氫箟鐨勫悕瀛椾竴鑸湪緙栬瘧鏃舵湡琚涪寮冿紝鑰屾灇涓懼悕瀛楀垯閫氬父涓鐩村湪璋冭瘯鍣ㄤ腑鍙銆傚彲浠ュ啀璋冭瘯浠g爜鐨勬椂鍊欑湅瑙佷粬浠?br />
5.typedef int x[10] 涓?#define x int[10]鍖哄埆
鍙互鐢ㄥ叾浠栫被鍨嬭鏄庣瀵瑰畯綾誨瀷鍚嶈繘琛屾墿灞?span style="color: red; ">錛屼絾鏄笉鑳藉type鐨勯キ瀹氫箟鐨勭被鍨嬪悕錛岃繘琛屾墿灞?br />#define peach int
unsigned peach i;//right
typedef int banana;
unsigned banana i;//error
鍦ㄨ繛緇嚑涓彉閲忓0鏄庝腑錛岀敤typedef瀹氫箟鐨勭被鍨嬭兘澶熶繚璇佸0鏄庝腑鎵鏈夊彉閲忓潎涓哄悓涓縐嶇被鍨?/span>錛屼絾鏄?define瀹氫箟鐨勭被鍨嬩笉鑳戒繚璇併?br />
#define int_ptr int*;
int_ptr chalk, cheese;
緇撴灉錛歩nt * chalk, cheese;(浠栦滑涓や釜綾誨瀷涓嶅悓)
#typedef char* char_ptr
char_ptr ben, rool(涓や釜閮芥槸鎸囧悜char鐨勬寚閽?
6. 涓嶈涓轟簡鏂逛究瀵圭粨鏋勪嬌鐢╰ypedef錛岃櫧鐒跺彲浠ョ渷鍘籹truct浣嗘槸鐪佸幓浜嗘彁紺轟俊鎭?br />鐢ㄥ湪鏁扮粍錛岀粨鏋勶紝鎸囬拡錛屼互鍙婂嚱鏁扮殑緇勫悎綾誨瀷銆傜粨鏋勬爣絳懼彲浠ユ坊鍔?#8220;_tag”緇撳熬銆?br />
]]>
1.malloc錛坰trlen錛坰tr錛夛級 鍑犱箮鑲畾鏄敊璇殑銆傚簲璇ユ槸 malloc錛坰trlen錛坰tr錛?1錛夈?br />
2.NUL鐢ㄤ簬緇撴潫涓涓狝CSII瀛楃涓層侼ULL琛ㄧず浠涔堜篃涓嶆寚鍚戙傜┖鎸囬拡銆?br />
3.switch涓璬efault鍐欐垚defau1t鐨勯敊璇傦紙鑳藉閫氳繃緙栬瘧錛夈?br />break浼氳煩鍑烘渶榪戠殑閭e眰寰幆錛屾垨鑰卻witch璇彞
4.ANSI C 鐩擱偦鐨勫瓧絎︿覆甯擱噺浼氳鑷姩鍚堝茍鎴愪竴涓瓧絎︿覆鐨勭害瀹氥?br />printf("a second favorite children's book"
"is 'yitiantulong' "
);
緙栬瘧鏃跺欎細鑷姩鍚堝茍錛岄櫎浜嗘渶鍚庡瓧絎︿覆澶栵紝姣忎釜瀛楃涓茬粨灝劇殑‘\0’浼氳鍒犻櫎銆?br />bug錛?br />char *resourse[]={
"big disk",
"color" //color 涔嬪悗娌℃湁鍐欓楀彿錛岄偅涔堜細鍜宮ouse榪炴帴鍦ㄤ竴璧楓?br />"mouse",
};
5.浠g爜絎竴嬈℃墽琛屾椂鍊欒涓猴紝涓庝互鍚庢墽琛岀殑涓嶅悓銆?/span>
{
static char separator='';
printf(" %c %s \n", separator, str);
separator=',';
}
6.extern鐢ㄤ簬鍑芥暟瀹氫箟錛岃〃紺哄叏灞鍙銆傦紙灞炰簬鍐椾綑錛?br />extern鐢ㄤ簬鏍囬噺錛岃〃紺哄湪鍏朵粬鍦版柟瀹氫箟銆?br />
7.x=f() * g();
f() 涓庝釜g() 璋冨姩欏哄簭涓嶇‘瀹氥?br />
8.絀烘牸
\newline 涓?\ newline鎰忎箟涓嶅悓銆?br />
9.璋冪敤鍑芥暟鍒嗛厤鍐呭瓨鏉ヤ繚瀛樺嚱鏁扮殑榪斿洖鍊箋?/span>鍙互榪斿洖瀛楃涓插父閲忕殑鎸囬拡錛岄潤鎬佹暟緇勭殑鎸囬拡錛屽姩鎬佸唴瀛樻寚閽堛?br />
]]>
1.float涓嶄細琚嚜鍔ㄦ墿灞曚負double銆?鍦ˋNSI C涓?br />
2.瀹忔墍鎺ュ彈鍙傛暟綾誨瀷鍙互涓嶅悓銆?鏈濂藉彧鐢ㄤ簬鍛藉悕甯擱噺鍜屼負緇撴瀯鎻愪緵綆媧佽娉曘?br />
3.鎿嶄綔絎﹀乏鍙蟲渶濂界敤絀烘牸鍒嗗紑銆傞槻姝㈠彜鑰佺増鏈殑紼嬪簭錛屼細淇敼璧嬪肩鐨勪綅緗?br />
4.鍦╨imits.h涓湁INT_MAX錛?LONG_MAX瀹氫箟
5.綾誨瀷涓嶅吋瀹廣傚洜涓轟袱涓寚閽堟墍鎸囧璞′笉鍚屻傝屼笉鏄慨楗扮涓嶅悓
int main(int argc, char **argv)
{
foo(argv);
}
6.K&R C 鍜?ANSI C瀵瑰緟鏃犵鍙鋒暟鍘熷垯涓嶅悓
K&R C 浣跨敤鏃犵鍙蜂繚鐣欑殑鍘熷垯銆?br />ANSI C 浣跨敤鍊間繚鐣欑殑鍘熷垯銆傦紙鏁存暟濡傛灉杞崲涓簊igned涓嶄細涓㈠け淇℃伅錛屽氨杞崲涓簊igned錛屽惁鍒欒漿鎹負unsigned錛?br />緇忚繃gcc涓祴璇曪紝閲囩敤鐨勬槸ANSI C鐨勫師鍒?br />
7.灝介噺涓嶈鍦ㄤ唬鐮佷腑浣跨敤鏃犵鍙鋒暟錛屼互閬垮厤澧炲姞涓嶅繀瑕佺殑澶嶆潅鎬с備笉瑕佷粎浠呭洜涓烘棤絎﹀彿鏁頒笉瀛樺湪璐熷鹼紙濡傚勾榫勶級錛屽氨鐢ㄥ畠鏉ヨ〃紺烘暟閲忋?br />鍙湁鍦ㄤ嬌鐢?span style="color: red; ">浣嶆鍜屼簩榪涘埗鎺╃爜鏃跺欙紝鎵嶅彲浠ョ敤鏃犵鍙鋒暟銆傚湪琛ㄨ揪寮忎腑浣跨敤寮哄埗杞崲錛屾槸鎿嶄綔鏁板潎涓烘湁絎﹀彿鎴栬呮棤絎﹀彿鏁?/span>錛岃繖鏍峰氨涓嶅繀鐢辯紪璇戝櫒閫夋嫨緇撴灉鐨勭被鍨嬨?br />
]]>
1.if(3==i)
鏈濂界敤榪欑鏂瑰紡錛岄伩鍏嶅皯鍐欎竴涓?
2.time_t鍦?user/include/time.h涓紝鐢ㄤ竴涓猯ong鏉ヨ〃紺恒傚洜姝ゆ渶澶у間負0x7FFFFFFF錛堟湁絎﹀彿鏁幫級錛?br />鎴栬呯敤biggest=(long)(pow (2, sizeof(long)*8)-1 );鏉ヨ幏鍙栨渶澶у箋?br />涔嬪悗鐢╣mtime錛?asctime鍑芥暟鑾峰彇鏈澶ф椂闂?br />
緇撴灉錛?br />Tue Jan 19 03:14:07 2038
]]>