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 ÊÖ²áÔÚÕâ¸öÀý×ÓÉ϶¼Åª´íÁË¡£)
ÕªÒª:
==========================|=============================
||
¿ÉÒÔʹÓÃδ¼ÓÐÞÊε
Ïà¹ØÎĵµ£º
A. ΪʲôҪÔÚLinuxʹÓÃEclipse¿ª·¢C/C++³ÌÐò?
LinuxÊÇÒ»¸öÒÔC/C++¿ª·¢ÎªÖ÷µÄƽ̨£¬ÎÞÂÛÊÇKernel»òÊÇApplication£¬Ö÷Òª¶¼Ê¹ÓÃC/C++¿ª·¢¡£´«Í³ÔÚLinuxÏ¿ª·¢³ÌÐò£¬ÊÇÔÚÎÄ×ÖģʽÏ£¬ÀûÓÃviµÈÎÄ×Ö±à¼Æ÷׫дC/C++³ÌÐò´æÅ̺ó£¬ÔÚCommand lineÏÂʹÓÃgcc±àÒ룬ÈôÒªdebug£¬ÔòʹÓÃgdb¡£
ÕâÖÖ¿ª·¢·½Ê½Éú²úÁ¦²¢²»¸ß£¬ÈôÖ»ÊÇ¿ª·¢Ñ§ ......
ÔÚ Web Ó¦ÓóÌÐò»·¾³ÖУ¬µü´úÖ÷ÒªÓÃÓڷôæºÍÏÔʾÊý¾Ý¼¯£¬Í¨³£ÊÇÒÔÁбí»ò±íÖеÄһϵÁÐÐеÄÐÎʽÏÔʾ¡£ÊµÏÖµü´úÄÚÈݵÄÖ÷Òª JSTL ²Ù×÷ÊÇ <c:forEach>; ¶¨ÖƱê¼Ç¡£¸Ã±ê¼ÇÖ§³ÖÁ½ÖÖ²»Í¬ÑùʽµÄµü´ú£ºÕûÊý·¶Î§Éϵĵü´ú£¨ÀàËÆ Java ÓïÑ﵀ for Óï¾ä£©ºÍ¼¯ºÏÉϵĵü´ú£¨ÀàËÆ Java ÓïÑ﵀ Iterator ºÍ Enumeration Àࣩ¡£
½øÐÐÕûÊ ......
ÃèÊö ¸ø¶¨Ò»¸öÕûÊýÐòÁУ¬ÅÐ¶ÏÆäÖÐÓжàÉÙ¸öÊý£¬µÈÓÚÊýÁÐÖÐÆäËûÁ½¸öÊýµÄºÍ¡£ ±ÈÈ磬¶ÔÓÚÊýÁÐ1 2 3 4, Õâ¸öÎÊÌâµÄ´ð°¸¾ÍÊÇ2, ÒòΪ3 = 2 + 1, 4 = 1 + 3¡£ ÊäÈë µÚÒ»ÐÐÊÇÒ»¸öÕûÊýT£¬±íʾһ¹²ÓжàÉÙ×éÊý¾Ý¡£ 1<= T <= 100
½ÓÏÂÀ´µÄÿ×éÊý¾Ý¹²Á½ÐУ¬µÚÒ»ÐÐÊÇÊýÁÐÖÐÊýµÄ¸öÊýn ( 1 <= n <= 100)£¬µÚ¶þÐÐÊÇÓÉn¸öÕûÊý×é³ ......
access£¨ÅжÏÊÇ·ñ¾ßÓдæÈ¡ÎļþµÄȨÏÞ£©
¡¡¡¡Ïà¹Øº¯Êý stat£¬open£¬chmod£¬chown£¬setuid£¬setgid
¡¡¡¡±íÍ·Îļþ #include<unistd.h>
¡¡¡¡¶¨Ò庯Êý int access(const char * pathname,int mode);
¡¡¡¡º¯Êý˵Ã÷ access()»á¼ì²éÊÇ·ñ¿ÉÒÔ¶Á/дijһÒÑ´æÔÚµÄÎļþ¡£²ÎÊýmodeÓм¸ÖÖÇé¿ö×éºÏ£¬R_OK ......
×î½üÐèҪдһ¶Î³ÌÐò£¬Íê³ÉÒÔÏµĹ¤×÷£¬ÓÃjava½«Êý¾ÝÒÔ¶þ½øÖƵÄÐÎʽдÈëÎļþÖУ¬È»ºóÓÃC¶Á³ö´Ë¶þ½øÖÆÎļþ¡£
¿ªÊ¼µÄʱºòûÓп¼ÂÇ»úÆ÷µÄ×Ö½ÚÐò£¬Ö±½Ó¸ã³ösegment fault.ÏëÁ˺ܾ㬲ÅÃ÷°×ÔÀ´ÊÇjavaºÍCµÄ×Ö½ÚÐòÊDz»Ò»ÑùµÄ¡£
javaÖеÄ×Ö½ÚÐòÊÇbig endianµÄ£¬ËüÊÇÓë»úÆ÷Î޹صġ£¶øcµÄ×Ö»úÐòÊÇ»úÆ÷Ïà¹ØµÄ£¬¶øµ±Ç°ÓõĻúÆ÷ÊÇx84 ......