首页 > 编程知识 正文

c语言程序,c语言指针用法举例

时间:2023-05-06 20:18:16 阅读:44168 作者:4985

指针

指针存储变量的地址。

语法类型* pointer;

Type*pointer初始化;

Pointer=variablename;

功能指针是存储变量的地址。

可以为指针指定空值。

指针可以通过引用引用引用。

指针在堆栈上有自己的存储器地址和大小。

示例#include

用户名称空间;

intmain () )。

//Anormalintegervariable

inta=7;

//apointervariablethatholdsaddressofa。

int*p=a;

//valuestoredisvalueofvariable ' a '

出局了

//itwillprinttheaddressofthevariable ' a '

出局了

//reassignthevalue。

*p=6;

出局了

返回0;

}

输出结果ValueofVariable:7

AddressofVariable:0x6ffe34

Valueofthevariableisnow:6

c的智能指针

智能指针是一种抽象数据类型,可以用作执行文件处理、内存管理(如网络套接字)、自动销毁和引用计数等多种功能的常用指针。

c的智能指针可以实现为模板类,由*和-运算符重载。 auto_ptr、shared_ptr、unique_ptr和weak_ptr是可以在c库中实现的智能指针格式。

示例#include

用户名称空间;

//Agenericsmartpointerclass

模板

classSmartpointer{

T*p; //Actualpointer

公共:

//Constructor

智能指示器(t * ptr=null ) {

p=ptr;

}

//Destructor

~Smartpointer () }

Delete(p;

}

//overloadingdereferencingoperator

t操作器* (

返回* p;

}

//overlodingarrowoperatorsothatmembersoftcanbeaccessed

//likeapointer

t *操作器- () ) )。

返回;

}

(;

intmain () )。

smartpointerp (新输入);

*p=26;

出局了

返回0;

}

输出结果Valueis:26

c的共享指针

shared_ptr是一种智能指针格式,可以在c库中实现。 这是一种用于存储原始指针和引用计数、指针或资源(对象、内存块、磁盘空间或其他资源)与所有shared_ptr副本的句柄数量的技术。

只有在shared_ptr销毁了所有副本时,才会销毁原始指针引用的对象。

示例#include

#包含

用户名称空间;

intmain () )。

shared_ptrptr(newint(7);

shared_ptrptr1(newint(6);

出局了

出局了

//returnsthenumberofshared _ ptr objects

//referringtothesamemanagedobject。

出局了

出局了

//relinquishesownershipofptrontheobject

//andpointerbecomesNULL

ptr.reset (;

出局了

出局了

出局了

返回0;

}

输出结果0xe80900

0xe80940

1

1

0

1

0xe80940

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。