c++中使用struct,struct中有指针

来源:互联网 发布:淘宝创立于哪一年 编辑:程序博客网 时间:2024/06/16 11:01

c++中使用struct,我就感觉很没必要也,这里的struct类似class;

只是struct默认的成员是public而已,我个人非常讨厌在c++中使用struct的,但是leetcode上刷题时候就遇到了,我心里有阴影了都,特别是struct中还有指针的更甚,我直接跪了;

如每次做有关二叉树的题目,都有这一段,我看到心里都慌了;

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;//这种声明语句表明,表达式*left的结果是TreeNode类型
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */

这里的代码改成class写:

class TreeNode{

public:

int val;

TreeNode left;                                                                   //也是数据成员

TreeNode right;                                                                //也是数据成员,只是类型为TreeNode罢了

TreeNode(int x): val(x), left(NULL), right(NULL)  {}    //使用构造函数初始化列表来初始化其数据成员

};

其实,现在再回头看,没什么不一样也,应该是心里惧怕指针,我很怕指针这玩意的:

说道指针,我都不忍心吐槽啊,从大一开始接触c中指针,大二接触c++,研一,研二,现在了还在纠结,这中间不知道,看了多少回,可是每次认为自己理解之后,仍然下次碰到,还是心里怕怕,哎 都是用的少啊

<C程序设计语言>骨灰级别的书是通过说明内存如何组织的角度来引入指针,指针是能够存放一个地址的一组存储单元(通常为2个或4个字节),接着介绍一元运算符&(用于取一个内存中对象的地址)和*(间接引用运算符);其实这样看没有很多东西哎,都知道;

《C专家编程》这本书,有部分讲到C声明的规则,有个图的,我只是一直记不住,所以感觉很烦;

1、取最左边的标识符

2、查看标识符右边的下一个符号,如果是方括号,【x】,对于每一对,表示“...的数组”;

3、如果是一个左括号       x(),到右括号为止的内容,“返回。。。的函数”;

4、如果左边的符号是一个左括号,(x) ,这个左括号把已经处理的部分声明组合在一起,直到遇见对应的右括号,然后从2步骤重新开始;

5、如果左边的符号是下述之一:

const (表示只读)

volatile( volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象

* (指向。。。的指针)

继续向左边读符号,直到所读符号不再是左边那3个之一

然后重复第4步

6、剩下的符号形成声明的基本类型

总之呢,看了这么多,下面的题目,我能做出来咩?

1.int *p;//p指向int的指针

2.int **p;//p是一个指向一个int指针的指针

3.int *p[10];//p是一个指向int类型的指针的长度为10的数组

4.int (*p)[10];//p是一个指向。表示长度为10的整型数据数组的。。的指针

5.int *p(int);//p是一个返回指向int的指针的。。。的,参数为整型的函数

6.int (*p)(int);//p是 一个指向,返回值为整型且参数为整型的函数   指针

7.int (*p[10])(int);//p是一个,指向。。的指针,长度为10的数组

1.一个指向整型数据的指针

2.一个指针的指针,它指向的指针指向一个整型数据

3.一个有十个指针的数组,该指针指向整型数据

4.一个指向有十个整型数据数组的指针

5.就一个函数(不是函数指针),该函数有一个整型参数,返回值为一个指向整型的指针

6.一个函数指针,该函数有一个整型的参数,返回值为整型类型

7.一个有十个指针的数组,该数组中的指针指向一个函数,该函数有一个整型参数并返回一个整型数

6、7要跪啊,太绕了,前面几个还好些
0 0
原创粉丝点击