Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

CµÄ18¸ö¾­µäÎÊÌâ¡£

1.ÕâÑùµÄ³õʼ»¯ÓÐʲôÎÊÌ⣿char *p = malloc(10); ±àÒëÆ÷Ìáʾ“·Ç·¨³õʼʽ” ÔÆÔÆ¡£
´ð:Õâ¸öÉùÃ÷ÊǾ²Ì¬»ò·Ç¾Ö
²¿±äÁ¿Â𣿺¯Êýµ÷ÓÃÖ»ÄܳöÏÖÔÚ×Ô¶¯±äÁ¿(¼´¾Ö²¿·Ç¾²Ì¬±äÁ¿) µÄ³õʼʽÖС£
ÒòΪ¾²Ì¬±äÁ¿µÄµØÖ·±ØÐëÔÚ±àÒëµÄ¹ý³ÌÖоÍÈ·¶¨ÏÂÀ´¶ømalloc()Éê
ÇëµÄÄÚ´æµØÖ·ÊÇÔÚÔËÐÐʱȷ¶¨µÄ¡£
2. *p++ ×ÔÔöp »¹ÊÇp ËùÖ¸ÏòµÄ±äÁ¿?
´ð:ºó׺++ ºÍ--
²Ù×÷·û±¾ÖÊÉϱÈǰ׺һĿ²Ù×÷µÄÓÅÏȼ¶¸ß, Òò´Ë*p++ ºÍ*(p++) µÈ¼Û, Ëü×ÔÔöp ²¢·µ»Øp ×ÔÔö֮ǰËùÖ¸ÏòµÄÖµ¡£
Òª×ÔÔöp
Ö¸ÏòµÄÖµ, ʹÓÃ(*p)++, Èç¹û¸±×÷ÓõÄ˳ÐòÎ޹ؽôÒªÒ²¿ÉÒÔʹÓÃ++*p¡£
3 ÎÒÓÐÒ»¸öchar * ÐÍÖ¸ÕëÕýÇÉÖ¸ÏòһЩint
ÐͱäÁ¿, ÎÒÏëÌø¹ýËüÃÇ¡£ÎªÊ²Ã´ÈçϵĴúÂë((int *)p)++; ²»ÐÐ?
´ð:ÔÚC ÓïÑÔÖÐ,
ÀàÐÍת»»Òâζ×Å“°ÑÕâЩ¶þ½øÖÆÎ»¿´×÷ÁíÒ»ÖÖÀàÐÍ, ²¢×÷ÏàÓ¦µÄ¶Ô´ý”; ÕâÊÇÒ»¸öת»»²Ù×÷·û, 
¸ù¾Ý¶¨ÒåËüÖ»ÄÜÉú³ÉÒ»¸öÓÒÖµ(rvalue)¡£
¶øÓÒÖµ¼È²»Äܸ³Öµ, Ò²²»ÄÜÓÃ++ ×ÔÔö¡£(Èç¹û±àÒëÆ÷Ö§³ÖÕâÑùµÄÀ©Õ¹, 
ÄÇҪôÊÇÒ»¸ö´íÎó, ҪôÊÇÓÐÒâ×÷³öµÄ·Ç±ê×¼À©Õ¹¡£)
Òª´ïµ½ÄãµÄÄ¿µÄ¿ÉÒÔÓÃ:p = (char *)((int *)p + 1);
»òÕß,ÒòΪp ÊÇchar * ÐÍ, Ö±½ÓÓÃp +=
sizeof(int);
4.¿ÕÖ¸ÕëºÍδ³õʼ»¯µÄÖ¸ÕëÊÇÒ»»ØÊÂÂð?
´ð:¿ÕÖ¸ÕëÔÚ¸ÅÄîÉϲ»Í¬ÓÚδ³õʼ»¯µÄÖ¸Õë:¿ÕÖ¸Õë¿ÉÒÔ
È·±£²»Ö¸ÏòÈκζÔÏó»òº¯Êý;
 ¶øÎ´³õʼ»¯Ö¸ÕëÔò¿ÉÄÜÖ¸ÏòÈκεط½¡£
5.ÎÒ¿ÉÒÔÓÃ0À´±íʾ¿ÕÖ¸ÕëÂð?
´ð:¸ù¾ÝÓï
ÑÔ¶¨Òå, ÔÚÖ¸ÕëÉÏÏÂÎÄÖеij£Êý0 »áÔÚ±àÒëʱת»»Îª¿ÕÖ¸Õë¡£Ò²¾ÍÊÇ˵, ÔÚ³õʼ»¯¡¢¸³Öµ»ò±È½ÏµÄʱºò, 
Èç¹ûÒ»±ßÊÇÖ¸ÕëÀàÐ͵ÄÖµ»ò±í´ïʽ,
±àÒëÆ÷¿ÉÒÔÈ·¶¨ÁíÒ»±ßµÄ³£Êý0 Ϊ¿ÕÖ¸Õë²¢Éú³ÉÕýÈ·µÄ¿ÕÖ¸ÕëÖµ¡£Òò´ËϱߵĴúÂë¶ÎÍêÈ«ºÏ·¨£º
char *p = 0;
if(p !=
0)
È»¶ø, ´«È뺯ÊýµÄ²ÎÊý²»Ò»¶¨±»µ±×÷Ö¸Õë»·¾³, Òò¶ø±àÒëÆ÷¿ÉÄܲ»ÄÜʶ±ðδ¼ÓÐÞÊεÄ0 “±íʾ” Ö¸Õë¡£
ÔÚº¯Êýµ÷ÓõÄÉÏÏÂÎÄ
ÖÐÉú³É¿ÕÖ¸ÕëÐèÒªÃ÷È·µÄÀàÐÍת»»,Ç¿ÖÆ°Ñ0 ¿´×÷Ö¸Õë¡£
ÀýÈç, Unix ϵͳµ÷ÓÃexecl
½ÓÊܱ䳤µÄÒÔ¿ÕÖ¸Õë½áÊøµÄ×Ö·ûÖ¸Õë²ÎÊý¡£ËüÓ¦¸ÃÈçÏÂÕýÈ·µ÷Óãº
execl("/bin/sh", "sh", "-c", "date",
(char *)0);
Èç¹ûÊ¡ÂÔ×îºóÒ»¸ö²ÎÊýµÄ(char *) ת»», Ôò±àÒëÆ÷ÎÞ´ÓÖªµÀÕâÊÇÒ»¸ö¿ÕÖ¸Õë,´Ó¶øµ±×÷Ò»¸ö0
´«Èë¡£(×¢ÒâºÜ¶àUnix ÊÖ²áÔÚÕâ¸öÀý×ÓÉ϶¼Åª´íÁË¡£)
ÕªÒª:
==========================|=============================
||
¿ÉÒÔʹÓÃδ¼ÓÐÞÊε


Ïà¹ØÎĵµ£º

extern "C"

extern "C"
extern "C"°üº¬Ë«Öغ¬Ò壬ÆäÒ»£º±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä¶þ£º±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£
1£©±»extern “C”ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
    externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ ......

Îĵµ´¦ÀíµÄcº¯Êý

Îļþº¯Êý´ò¿ªÎļþº¯Êý
[º¯ÊýÍ·]
FILE *fopen£¨char *filename, Char *mode£© 
[²ÎÊý]
filename ×Ö·ûÐÍÖ¸Õ룬ָÏòµÄ×Ö·û´®ÊÇÒª´ò¿ªµÄ´ÅÅÌÎļþÃû£»mode ×Ö·ûÐÍÖ¸Õ룬ָÏòµÄ×Ö·û´®ÊÇÎļþʹÓ÷½Ê½¡£ÕâÁ½¸ö²ÎÊý¶ÔÓ¦µÄʵ²Î¿ÉÒÔÊÇ×Ö·ûÖг£Á¿£¬Ò²¿ÉÒÔÊDz¹·ûÊý×éÊ×µØÖ·£¬»òÕßÊÇÖ¸Ïò×Ö·û´®µÄÖ¸Õë±äÁ¿¡£ 
ÎļþʹÓ÷½Ê½¿ ......

linuxÏÂCÓïÑÔ¶àÏ̱߳à³ÌʵÀý

ѧ¶«Î÷£¬ÍùÍùʵÀý²ÅÊÇ×îÈÃÈ˸ÐÐËȤµÄ£¬ÀÏÊÇѧ»ù´¡ÀíÂÛ£¬²»¶¯ÊÖ£¬¸Ð¾õûÓгɾ͸У¬ºÇºÇ¡£
   ÏÂÃæÏÈÀ´Ò»¸öʵÀý¡£ÎÒÃÇͨ¹ý´´½¨Á½¸öÏß³ÌÀ´ÊµÏÖ¶ÔÒ»¸öÊýµÄµÝ¼Ó¡£
»òÐíÕâ¸öʵÀýûÓÐʵ¼ÊÔËÓõļÛÖµ£¬µ«ÊÇÉÔ΢¸Ä¶¯Ò»Ï£¬ÎÒÃǾͿÉÒÔÓõ½ÆäËûµØ·½È¥À­¡£
ÏÂÃæÊÇÎÒÃǵĴúÂ룺
/*thread_example.c : c multiple thread p ......

linux emacs c (Ò»£©

²»À뿪EmacsÍê³É¼òµ¥C³ÌÐòµÄ±à¼­±àÒëÔËÐУ¨×ª£©
£¨1£©´ò¿ªEmacs£¬Ö´ÐÐ
$ emacs
£¨2£©½¨Á¢Ò»¸öеijÌÐòÎļþ. Ö´ÐÐ C-x C-f£¬
È»ºóÔÚÆÁÄ»µÄµ×²¿³öÏÖminibuffer£¬¹â±êÌáʾÄãÊäÈëÎļþÃû³Æ£¬
ÎļþÃû³ÆÒª´øÉϺó׺Ãû£¬Èçhello.cpp¡£»Ø³µ£¬È»ºó¿ªÊ¼±à¼­Ô´´úÂë¡£
£¨3£©±àÒë´úÂë¡£Ö´ÐÐEsc-x compile£¬³öÏÖminibuffer£¬ÌáʾÄãÊäÈ ......

cºÍjavaÖеĶþ½øÖÆÎļþ


×î½üÐèҪдһ¶Î³ÌÐò£¬Íê³ÉÒÔÏµĹ¤×÷£¬ÓÃjava½«Êý¾ÝÒÔ¶þ½øÖƵÄÐÎʽдÈëÎļþÖУ¬È»ºóÓÃC¶Á³ö´Ë¶þ½øÖÆÎļþ¡£
¿ªÊ¼µÄʱºòûÓп¼ÂÇ»úÆ÷µÄ×Ö½ÚÐò£¬Ö±½Ó¸ã³ösegment fault.ÏëÁ˺ܾ㬲ÅÃ÷°×Ô­À´ÊÇjavaºÍCµÄ×Ö½ÚÐòÊDz»Ò»ÑùµÄ¡£
javaÖеÄ×Ö½ÚÐòÊÇbig endianµÄ£¬ËüÊÇÓë»úÆ÷Î޹صġ£¶øcµÄ×Ö»úÐòÊÇ»úÆ÷Ïà¹ØµÄ£¬¶øµ±Ç°ÓõĻúÆ÷ÊÇx84 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ