摘要: #include <stdio.h>#include <string.h>#include <stdlib.h>char *Temp(const char *src,int len) //数组是在栈中分配,返回时,帧栈中的内容已经释放,会产生不可预料的结果{ char temp[15]; memcpy(temp,src,len); return temp;}char *TempM(const char *src,int len) //在函数里面申请动态内存,很容易忘记释放内存,导致内存泄漏{ int a=3,b=4; char *temp = (char*) 阅读全文
posted @ 2012-12-06 20:08 苍术厚朴 阅读(373) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>void exchange0(int *a ,int *b) //通过指针交换两者的值{ int c; c = *a; *a = *b; *b= c;}void exchange1(int *a,int *b) //没有交换两者的值,只是交换了地址{ int *c; c = a; a=b; b=c;}void exchange2(int &a,int&b)//通过引用交换两者的值{ int c; c = a; a= b; b=c;}void exchange3(int &a,int &b)//通过异或交换两者的值{ 阅读全文
posted @ 2012-12-06 19:54 苍术厚朴 阅读(7491) 评论(0) 推荐(0) 编辑
摘要: //二维数组的理解#include<stdio.h>void main(){ int a[3][3] = {1,2,3,4,5,6,7,8,9}; int *n[3]; //这两种声明的方式是一样 int *(n[3]); //指针数组 int (*p)[3] = a; //数组指针,指向数组的指针 int *m =&a[0][0]; printf("%x\n",m); printf("%x\n",*(p+1)); printf("%d\n",**(p... 阅读全文
posted @ 2012-12-06 19:34 苍术厚朴 阅读(2411) 评论(0) 推荐(0) 编辑