这些都是些小知识,本来也已经会了(可能没会),但由于爱犯一些小错误,并在这些小错误上吃过很多亏,于是乎还是要注重起来。对了声明一下该系列博文皆为本人考研自用(顺便当作记录自己考研的一部分),所以有些(大部分)个人习惯和个人理解,so难免(肯定)会有错误,若各位大佬看到,可以指出来,我会改哒~~。
2.结构体的定义方式常见的结构体命名方式有两种。
1 .
struct node{
int x;
int y;
};
2 .
typedef struct{
int x;
int y;
}node;
我常习惯于第一种方法。
3.C++中的引用符号“&”与指针的区别1.切记引用只用于C++语法,C语言不行,“&”用通俗的话来讲就是给所传入的对象或参数一个“代号”,然后接下来的操作都是以这个代号在进行相关的操作,但是真正在执行操作的还是所使用的参数或原对象本身,下面举些例子说明,因为懒的自己找例子部分代码来源于网络。
#includeusing namespace std; int main() { int a = 3; int &b = a;//此时b就是a的代号,a只是以代号b在行动(进行相关操作) b = 10;//b=10,就相当于a=10. cout << a << endl;//输出结果为10. return 0; }
#includeusing namespace std; typedef struct { int x; int y; }node; int main() { node c1; node &c = c1;//此时c就是c1的代号,c1只是以代号c在行动(进行相关操作) c.x = 10; c.y = 20; cout << c1.x << c1.y;//输出的结果:10 20 return 0; }
2.关于引用和指针的区别用最常见的交换函数举例
指针:
void fun( int *a,int *b)
{
int temp = 0;
c = *a;
*a = *b;
*b = c;
}
int x = 10,y = 20;
fun(&x,&y);
引用:
void fun (int &a, int &b)
{
int temp = 0;
temp = a;
a = b;
b = temp;
}
int x = 10,y = 20;
fun(x,y);
明显第二种方法要简单很多,而且在后续数据结构代码中会频繁使用到引用,因为牵扯原对象的改变就要用到引用突然发现自己以前打代码时有的没用引用不知咋做对的,等有时间会去琢磨一下。
**补充一下
指针类型的引用:
*&指针引用名=指针;
int *&q = p;
**因为前面有讲到引用起到一个起代号的作用,那么这个代号是什么类型就要看你想用的对象是什么类型,故指针型就要用指针型表示。
4 .可能的疑惑最后附上我当时刚学数据结构时的一些疑惑,给可能碰到的你们指个方向进行相关搜索。
取出结构体变量中的每一个成员的两种方式
指针的用法



