手机
当前位置:查字典教程网 >编程开发 >C语言 >C++中指向结构体变量的指针
C++中指向结构体变量的指针
摘要:定义:结构体变量的指针就是该变来那个所占据的内存段的起始地址。可以设一个指针变量,来指向一个结构体变量,此时该指针变量的值是结构体变量的起始...

定义:

结构体变量的指针就是该变来那个所占据的内存段的起始地址。可以设一个指针变量,来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。

设p是指向结构体变量的数组,则可以通过以下的方式,调用指向的那个结构体中的成员:

(1)结构体变量.成员名。如,stu.num。

(2)(*p).成员名。如,(*p).num。

(3)p->成员名。如,p->num。

复制代码 代码如下:

#include<iostream>

#include<string>

using namespace std;

struct Candidate{

string name;

int count;

};

int main(){

Candidate c_leader[2]={"Tom",5,"Marry",8};

Candidate *p1,*p2;

p1=c_leader;

cout<<(*p1).name<<":"<<(*p1).count<<endl;

p2=&c_leader[1];

cout<<p2->name<<":"<<p2->count<<endl;

return 0;

}

C++中指向结构体变量的指针1

复制代码 代码如下:

p1=c_leader;

说明,结构体数组也和其他数组一样,一维数组的数组代表首个元素的地址

我们了解到,结构体中可以包含很多类型的成员变量,那么可否包含指针变量成员呢?答案是可以的。

那么是否也可以包含指向同类结构的结构体变量呢?当然可以,链表就是应用了这个原理。

复制代码 代码如下:

#include<iostream>

#include<string>

using namespace std;

struct Candidate{

string name;

int count;

Candidate *next;//定义了指向Candidate类型变量的指针

};

int main(){

Candidate c_leader[3];

c_leader[0].name="Tom";

c_leader[0].count=5;

c_leader[0].next=&c_leader[1];

c_leader[1].name="Nick";

c_leader[1].count=9;

c_leader[1].next=&c_leader[2];

c_leader[2].name="Jim";

c_leader[2].count=10;

c_leader[2].next=NULL;

Candidate *p=c_leader;

while(p!=NULL){

cout<<p->name<<":"<<p->count<<endl;

p=p->next;

}

return 0;

}

C++中指向结构体变量的指针2

【C++中指向结构体变量的指针】相关文章:

C++指向类成员函数的指针详细解析

C语言/C++中如何产生随机数

浅析C++中前置声明的应用与陷阱

浅析C++中结构体的定义、初始化和引用

C++ 关于STL中sort()对struct排序的方法

C++中抽象类和接口的区别介绍

C++中栈结构建立与操作详细解析

c/c++中变量的声明和定义深入解析

C++中的对象指针总结

C++多文件变量解析

精品推荐
分类导航