void fun(char *str) //pass by pointer
void fun(char &str) //pass by reference
如果输入参数是以值传递的话,最好使用引用传递代替,因为引用传递省去了临时对象的构造和析构
函数的类型不能省略,就算没有也要加个void
七、函数体中的指针或引用常量不能被返回
char *func(void)
{
char str[]=”hello word”;
//这个是不能被返回的,因为str是个指定变量,不是一般的值,函数结束后会被注销掉
return str;
}
函数体内的指针变量并不会随着函数的消亡而自动释放
八、一个内存拷贝函数的实现体
void *memcpy(void *pvto,const void *pvfrom,size_t size)
{
assert((pvto!=null)&&(pvfrom!=null));
byte *pbto=(byte*)pvto; //防止地址被改变
byte *pbfrom=(byte*)pvfrom;
while (size-- >0)
pbto++ = pbform++;
return pvto;
}
九、内存的分配方式
分配方式有三种,请记住,说不定那天去面试的时候就会有人问你这问题