c ÓïÑÔ free ³ö¶Ï´íÎó ¸ßÊÖÖ¸½Ì - C/C++ / CÓïÑÔ
ÕâÊÇÒ»µÀC±ÊÊÔÌâ ¸÷λ´ó´ó²»ÒªÎÊΪʲôҪ·µ»ØÖ¸Õë Õâ¸öÎÒÒ²²»ÖªµÀ .... ÌâÉϸøµÄº¯ÊýÔÐÍÊÇÕâÑùµÄ¡«
ʹÓÃmalloc º¯ÊýÉêÇë¿Õ¼äºó free ÊÍ·Åʱ¶Ï´íÎóÁË ²»½â... ¸÷λ´ó´ó¸ø¿´¿´
/*
* ×Ö·û´®ÄæÐò ʹÓÃinerchar º¯Êý½«×Ö·û´®Ç°ºóµßµ¹ºó ·µ»ØÒ»¸öÖ¸Õë £¨ÌâÉÏÒªÇó£©
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char * inerchar(char *str)
{
int len = 0, i = 0;
char *strl = str; // ÓÃÓÚÄæÐò ££ ×Ö·û´®µÄÒ»°ë
char *strr = str; // ÓÃÓÚÄæÐò ££ ×Ö·û´®µÄÁíÒ»°ë
char temp;
char *result = (char *)malloc(strlen(str) + 1);
len = strlen(strl);
for (i; i < (len / 2); i++) // ¿ªÊ¼½«×Ö·û´®Ç°ºóµßµ¹
{
temp = strl[len - i - 1];
strl[len - i - 1] = strr[i];
strr[i] = temp;
}
result = strr;
return result;
}
int main(void)
{
char str[] = {"Hello world"};
char *p = inerchar(str);
printf("inver string : %s \n", p);
free(p); // ´Ë´¦¶Ï´íÎó ²»½â .... Ī·Ç free Ö»ÄÜÊÍ·ÅÒ»¸öº¯ÊýÌåÄÚÉêÇëµÄ¿Õ¼ä£¿
p = NULL;
return 0;
}
C/C++ code
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
Ïà¹ØÎÊ´ð£º
SHIFT¼ÓF10ÓëÄǸö¼üÓÒctrl±ßÉϵÄÄǸö¼ü¹¦ÄÜÒ»Ñù£¬ÏëÆÁÕâ¸ö
µ«²»ÖªÒªÔõôдÄǸö×éºÏ¼ü£¡
ÓÐûÄĸö´óÏÀ·ÅÒ»¶ÎÕâ¸öµÄ´úÂë»òдһ¶Î
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html
......
´ó¼ÒºÃ£¬ÕâÊÇÒ»¸öÖ÷ÒªÃæÏòc/c++/mfcµÄȺ£¬×î½ü½øÐÐÁËÒ»´Î´óÇåÀí£¬»¶Ó¸÷λ¸ßÊÖ¼ÓÈ룬ºÃѧ°®ÎʵÄÐÂÊÖ£¬Ò²¿ÉÒÔÉêÇëµÄ£¬ÉêÇë¸ñʽ Ö°Òµ£¨c/c++/mfc ÈÎѡһ»òÕ߶ࣩ ¹¤×÷ÄêÏÞ£¨Ñ§ÉúÖ±½Óд´ó¼¸£©¾ÍÐÐÁË£¬ÈëȺµÄÒªÇó¾ÍÊÇÒª» ......
ÓÐÒ»10*10¾ØÕ󣬳ýÈ¥µÚÒ»¸öµã£¨0£¬0£©ºÍ×îºóÒ»µã£¨9£¬9£©£¬»¹Óа˸öµãΪ1£¬ÆäËû¶¼Îª0£¬ÒªÇóÓöþάÊý×é±íʾ¡£°Ë¸öµãÊÇËæ»úÉú³ÉµÄ£¬±àдÏà¹Ø³ÌÐò±íʾ¾ØÕóËùÓпÉÄÜÇé¿ö¡£
ÕæÐÄÇó½Ì¸÷λ¸ßÊÖ£¬°¥£¡±¾ÈËÌ«²ËÁË£¡ºÇºÇ£¡
......
ÔÚ¸ùĿ¼/libÖдæ·ÅÒ»¸ölog.c£¬log.h£¬²¢ÓÃÏÂÃæµÄÓï¾ä£º
gcc -c log.c
ar crv liblog.a log.o
±àÒë³öÒ»¸öliblog.a¾²Ì¬¿â£¬È»ºóÔÚÎļþ¼Ð£º/testfileÖд´½¨Ò»¸ötest.cºÍtestc.c£¬test.cÖÐÒýÓÃÁËtestc.cÖж¨ÒåµÄ·½·¨ ......