CC++数据结构中利⽤指针的三种初始化⽅式在C/C++的数据结构中,利⽤指针初始化操作的三种⽅法!
1#include
2
3
4#include
5
6
7using namespace std;
8/*
9结构体的各部分结构分析;
10typedef:使⽤这个重定义⼀个别名代替"struct"!
11mysq:声明定义⼀个结构体变量可以使⽤mysq!
12mysqstack:效果同mysq保持⼀致!
13*/
14typedef struct mysq
15{
16 char mydata;
17 int top;
18}mysqstack;
19
20
21//函数声明!
22//这是⼀级指针以及⼆级指针使⽤⽅法的函数声明!
23void Initstack(mysqstack **s);
24//这是"引⽤"⽅法的函数声明!
25//void Initstack(mysqstack *&s);
26//以下介绍指针在数据结构中的三种⽤法
27void main()
28{
29 mysqstack *s;
30 cout<<"初始化堆栈!\n";
31 //Initstack(s);  "引⽤"的使⽤⽅法!
32 //Initstack(&s);  "⼀级指针"的使⽤⽅法!
33 Initstack(&s);  //"⼆级指针"的使⽤⽅法!
34}
35
sizeof 指针36
37//这是第⼀种⽅法:"引⽤"!
38/*
39void Initstack(mysqstack *&s)
40{
41 s = (mysq *)malloc(sizeof(mysq));
42 s->top = -1;
43}*/
44//这是第⼆种⽅法,⼀级指针的使⽤!
45/*
46void Initstack(mysqstack **s)
47{
48 (*s) = (mysqstack *)malloc(sizeof(mysqstack));
49 (*s)->top = -1;
50}*/
51
52
53//这是第三种⽅法,⼆级指针的使⽤!
54void Initstack(mysqstack **s)
55{
56 (*s) = (mysqstack *)malloc(sizeof(mysqstack));
57 (**s).top = -1;  //这⾥是和以及指针的使⽤区别!
58}
59

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。