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

c++/c±à³Ì×¢ÒâÊÂÏî

ÈÝÒ×´íÎóµÄʹÓÃÖ¸Õë:
void GetMemory(char *p, int num)
{
p = (char *)malloc(sizeof(char) * num);
}
void Test(void)
{
char *str = NULL;
GetMemory(str, 100); // str ÈÔȻΪ NULL
strcpy(str, "hello"); // ÔËÐдíÎó
}
벡³öÔÚº¯ÊýGetMemory ÖС£±àÒëÆ÷×ÜÊÇҪΪº¯ÊýµÄÿ¸ö²ÎÊýÖÆ×÷ÁÙʱ¸±±¾£¬Ö¸Õë
²ÎÊýp µÄ¸±±¾ÊÇ _p£¬±àÒëÆ÷ʹ _p = p¡£Èç¹ûº¯ÊýÌåÄڵijÌÐòÐÞ¸ÄÁË_p µÄÄÚÈÝ£¬¾Íµ¼ÖÂ
²ÎÊýp µÄÄÚÈÝ×÷ÏàÓ¦µÄÐ޸ġ£Õâ¾ÍÊÇÖ¸Õë¿ÉÒÔÓÃ×÷Êä³ö²ÎÊýµÄÔ­Òò¡£ÔÚ±¾ÀýÖУ¬_p ÉêÇë
ÁËеÄÄڴ棬ֻÊǰÑ_p ËùÖ¸µÄÄÚ´æµØÖ·¸Ä±äÁË£¬µ«ÊÇp Ë¿ºÁδ±ä¡£ËùÒÔº¯ÊýGetMemory
²¢²»ÄÜÊä³öÈκζ«Î÷¡£ÊÂʵÉÏ£¬Ã¿Ö´ÐÐÒ»´ÎGetMemory ¾Í»áй¶һ¿éÄڴ棬ÒòΪûÓÐÓÃ
free ÊÍ·ÅÄÚ´æ¡£
ΪʲôҪÓÐnewºÍdelete£¬ÓÃmallocºÍfree²»¹»Âð£¿
MallocÓëfreeÊǿ⺯Êý¶ø²»ÊDzÙ×÷ÔËËã·û£¬²»Äܱ»¹¹Ô캯ÊýÓëÎö¹¹º¯Êý×Ô¶¯µ÷ÓÃ
Èç¹ûÓÃfree ÊÍ·Å¡°new ´´½¨µÄ¶¯Ì¬¶ÔÏó¡±£¬ÄÇô¸Ã¶ÔÏóÒòÎÞ·¨Ö´ÐÐÎö¹¹º¯Êý¶ø¿ÉÄÜ
µ¼Ö³ÌÐò³ö´í¡£Èç¹ûÓÃdelete ÊÍ·Å¡°malloc ÉêÇëµÄ¶¯Ì¬Äڴ桱£¬ÀíÂÛÉϽ²³ÌÐò²»»á³ö´í£¬
µ«ÊǸóÌÐòµÄ¿É¶ÁÐԺܲËùÒÔnew/delete ±ØÐëÅä¶ÔʹÓã¬malloc/free Ò²Ò»Ñù¡£
void Function(int)Óëint Function (int)±àÒëÆ÷Çø·Ö²»³öÖØÔØº¯Êý£¬ÖØÔغ¯ÊýÖÁÉÙÔÚ²ÎÊý¸öÊý¡¢²ÎÊýÀàÐÍ»ò²ÎÊý˳ÐòÉÏÓÐËù²»Í¬¡£
¶ÔÓÚ·ÇÄÚ²¿Êý¾ÝÀàÐ͵ÄÊäÈë²ÎÊý£¬Ó¦¸Ã½«¡°Öµ´«µÝ¡±µÄ·½Ê½¸ÄΪ¡°const ÒýÓô«
µÝ¡±£¬Ä¿µÄÊÇÌá¸ßЧÂÊ¡£ÀýÈ罫void Func(A a) ¸ÄΪvoid Func(const A &a)¡£
¶ÔÓÚÄÚ²¿Êý¾ÝÀàÐ͵ÄÊäÈë²ÎÊý£¬²»Òª½«¡°Öµ´«µÝ¡±µÄ·½Ê½¸ÄΪ¡°const ÒýÓô«µÝ¡±¡£
·ñÔò¼È´ï²»µ½Ìá¸ßЧÂʵÄÄ¿µÄ£¬ÓÖ½µµÍÁ˺¯ÊýµÄ¿ÉÀí½âÐÔ¡£ÀýÈçvoid Func(int x) ²»
Ó¦¸Ã¸ÄΪvoid Func(const int &x)¡£
Èκβ»»áÐÞ¸ÄÊý¾Ý³ÉÔ±µÄº¯Êý¶¼Ó¦¸ÃÉùÃ÷Ϊconst ÀàÐÍ¡£Èç¹ûÔÚ±àдconst ³ÉÔ±º¯
Êýʱ£¬²»É÷ÐÞ¸ÄÁËÊý¾Ý³ÉÔ±£¬»òÕßµ÷ÓÃÁËÆäËü·Çconst ³ÉÔ±º¯Êý£¬±àÒëÆ÷½«Ö¸³ö´íÎó£¬
ÕâÎÞÒÉ»áÌá¸ß³ÌÐòµÄ½¡×³ÐÔ¡£
int GetCount(void) const; // const ³ÉÔ±º¯Êý


Ïà¹ØÎĵµ£º

CÉî¶È½âÆÊÎÊÌâ´úÂë·ÖÎö±Ê¼Ç1

#include <stdio.h>
int main()
{
int a[5]={1,2,3,4,5};
int *ptr1=(int*)(&a+1);
int *ptr2=(int*)((int)a+1);
printf("%p,%x,%p\n",(int)a,*(ptr2+1),ptr1);//(int*)(&a));
printf("%d\n",(int*)(&a-16));
printf("%d,%x\n",ptr1[-1] ......

C/C++Êý×éÃûÓëÖ¸ÕëÇø±ðÉîÈë̽Ë÷

 
ÒýÑÔ
¡¡¡¡Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øÑ§Éú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++Ï ......

дºÃC³ÌÐòµÄ10´óÒªµã

ҪдºÃCÓïÑÔ³ÌÐò£¬×îÖØÒªµÄµ±È»ÊǰÑÒª½â¾öµÄÎÊÌâ·ÖÎöÇå³þ£¬Éè¼ÆºÃ½â¾öÎÊÌâµÄ·½°¸ºÍͨ¹ý¼ÆËãʵÏÖÇó½âµÄ¹ý³Ì£¬¶ÔÎÊÌâµÄÇó½â¹ý³Ì½øÐпÆÑ§µÄ½á¹¹»¯µÄ·Ö½â¡£ÔÚ´Ë»ù´¡ÉϽøÒ»²½¿¼ÂÇÈçºÎд³ÌÐòµÄʱºò£¬ÏÂÃæµÄ½¨Òé¿ÉÄÜÓÐËù°ïÖú¡£
ÕâЩ½¨ÒéÖÐÓÐЩÊÇÒ»°ãÐԵ쬲»½ö½ö¶ÔCÓïÑÔ³ÌÐòÉè¼ÆÓÐЧ£»Ò²ÓÐЩÊÇÌØ±ðÕë¶ÔCÓïÑÔ³ÌÐòÉè¼ÆµÄ¡£Õâ¸ö±í»¹ ......

linuxÏÂc±àÒëϵͳ(ת)

 
±àÒë¹ý³Ì¸ÅÊö
Á˽âһЩ±àÒë֪ʶµÄ¶ÁÕß¶¼ÖªµÀ£¬Ëùν±àÒ룬¾ÍÊÇÔÚ±àÒë³ÌÐò¶ÁȡԴ³ÌÐò£¨×Ö·ûÁ÷£©£¬¶ÔÖ®½øÐдʷ¨ºÍÓï·¨µÄ·ÖÎö£¬½«¸ß¼¶ÓïÑÔÖ¸Áîת»»Îª¹¦ÄܵÈЧµÄ»ã±à´úÂ룬ÔÙÓÉ»ã±à³ÌÐòת»»Îª»úÆ÷ÓïÑÔ£¬²¢ÇÒ°´ÕÕ²Ù×÷ϵͳ¶Ô¿ÉÖ´ÐÐÎļþ¸Ðл¸ñʽµÄÒªÇóÁ´½ÓÉú³É¿ÉÖ´ÐгÌÐò¡£
UNIX»·¾³ÏµÄC±àÒëϵͳËù×ñÑ­µÄÒ²ÊÇÕâôһ¸öÒ»° ......

C/C++·¢Õ¹ÀúÊ·¼òµ¥½éÉÜ

 CÓïÑÔÖ®ËùÒÔÒªÆðÃûΪ“C”£¬ÊÇÒòΪËüÊÇÖ÷Òª²Î¿¼ÄǸöʱºòµÄһÎÐBµÄÓïÑÔ£¬ËüµÄÉè¼ÆÕßÈÏΪCÓïÑÔÊÇBÓïÑԵĽø²½£¬ËùÒÔ¾ÍÆðÃûΪCÓïÑÔ£»µ«ÊÇBÓïÑÔ²¢²»ÊÇÒòΪ֮ǰ»¹ÓиöAÓïÑÔ£¬¶øÊÇBÓïÑÔµÄ×÷ÕßΪÁ˼ÍÄîËûµÄÆÞ×Ó£¬ËûµÄÆÞ×ӵĵÚÒ»¸ö×ÖĸÊÇB£»
    µ±CÓïÑÔ·¢Õ¹µ½¶¥·åµÄʱ¿Ì£¬³öÏÖÁËÒ»¸ö°æ±¾½ÐC with ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ