// Class01.cpp : Defines the entry point for the console application.
//
/*
*本例用来用一个函数在堆区分配一个内存空间
*并在主函数中用一个指针来指向
*注意必须是传地址,否则一旦函数结束则将被释放
*/
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
//#define CHOICE 1
using namespace std;
/*
*本函数用双指针实现,注意:指针包含两个地址,一个是指针指向的地址,一个是指针本身的地址
*char双指针的意思是:一个指向char*类型的指针。
*调用此函数要传递指针的地址
*/
void Point(char **Object)
{
*Object = (char *)malloc(sizeof(char)*3);
}
/*
*本函数用指针的引用实现,
*注意:引用是一个变量的别名,调用该别名即操作的是原来那个变量,而并不是原来那个变量的拷贝,
*所以可以实现将一个指针指向堆中的一个内存区而不会随着函数结束而释放
*/
void Reference(char* &Object)
{
Object = (char *)malloc(sizeof(char)*3);
}
int _tmain(int argc, _TCHAR* argv[])
{
char *Object;
#ifdef CHOICE
Point(&Object);
#else
Reference(Object);
#endif
Object[0] = 'A';
cout<<Object[0]<<endl;
getchar();
return 0;
}
C++双指针与指针引用详解例程
原创
©著作权归作者所有:来自51CTO博客作者hynever的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:OC中分类的注意事项
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C/C++指针 引用
呵呵
初始化 指针变量 取地址 -
C++ 指针与引用
C++ 指针与引用
c++ c语言 开发语言 ci i++ -
C++引用优于指针
C++引用优于指针(转载请注明来源于金庆的专栏)在KOK3服务器的崩溃错误
c++ 服务器 null 语言 c -
C++重载&指针&引用
函数重载解决了相同函数功能,函数名却不能相同的问题……
C++ 指针 重载