摘要:
#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*) 阅读全文
摘要:
#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)//通过异或交换两者的值{ 阅读全文
摘要:
//二维数组的理解#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... 阅读全文