C++结构体指针 常用用法及注意事项
发布日期:2021-06-21 09:00:07 浏览次数:2 分类:技术文章

本文共 659 字,大约阅读时间需要 2 分钟。

总述:

c++结构体指针,顾名思义就是指向结构体的一个指针,这篇博客作用是记录c++结构体指针的常用用法及我经常犯的一个错误。

定义结构体:

struct My{    My *left;    My *right;    int val;    My(){}    My(int val):left(NULL),right(NULL),val(val){}};

一般结构体变量的访问方式:

void test1(){    My m;    m.val = 1;    cout<
<

可见,结构体中的变量,可以直接通过点操作符来访问。

而对于结构体指针而言:必须通过->符号来访问指针所指结构体的变量。

void test2(){    My m;    m.val = 1;    My *mm;    mm = &m;    cout<
val<

注意事项:

声明一个结构体指针记得初始化,一定要初始化,不初始化会出事(重要的事情说三遍)

如下:

void test3(){    My *m;    m->val = 1;}

这份代码会报一个错:空指针访问异常,这是因为m这个指针还没有初始化,因此他没有内存空间,自然就不存在有val这个参数。正确打开方式:

void test3(){    My *m;    m = new My(3);    m->val = 4;    cout<
val<

以上代码用new申请了内存空间。问题即可解决。

转载地址:https://blog.csdn.net/lwgkzl/article/details/81866016 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python mock 打桩抛出异常
下一篇:coverage 多进程下子进程覆盖问题(以multiprocess为例)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月29日 19时56分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章