从小白开始学习C++ 指针

指针的使用

  • 使用new来分配内存
    在C语言中我们调用库函数malloc()来动态生成一个新的空间
    虽然在C++中也可以这么做,但是我们还有一个更好的方法
    new操作符
//一般的操作
int *t = new int;
// 这里会动态分配一个int大小的空间,并使 t 指向它

一般的命名格式为:
typeName pointer_name = new typeName

  • 使用delete来释放内存
    delete操作符
    它使得在使用完内存之后,能够将内存归还给内存池
    在C中我们可以使用free()
int *t = new int;
t=100000;
//free(t)   C中使用free()函数将其释放
delete t;

注意这里会释放t指向的内存,但不会删除指针t本身
仍然可以让它指向另一个新分配的内存块

!!!特别注意不要重复释放同一个内存块,因为这样你的程序将极其危险!!!

  • 使用new来创建动态数组
int *t = new int [100];
delete [] t;

注意:这里这里的delete后面应该先跟方括号再接指针
告诉系统,你要释放的是整个数组,而不仅仅是t所指的数组中的第一个元素所在的内存块

同样我们可以通过下标来引用数组中的每一个元素

int *t = new int[20];
t[0]=0;
t[1]=1;

需要记住的是,将指针变量加1后,其增加的值等于指向的类型占用的字节数

注意:句点操作符和箭头操作符的使用
当结构标识符为结构名时,则使用句点操作符
当结构标识符为指向结构的指针,使用箭头操作符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

国家一级假勤奋研究牲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值