设为首页 加入收藏

TOP

指向结构体变量的指针
2014-11-23 19:19:00 来源: 作者: 【 】 浏览:5
Tags:指向 结构 变量 指针

定义:

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

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

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

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

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

#include
#include
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<name<<":"<count< 
 

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

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

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

#include
#include
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<name<<":"<count<next;
	}
	return 0;
}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇hdu 3954 Level up (线段树) 下一篇每日一水 POJ8道水题

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·求navicat for mysql (2025-12-26 13:21:33)
·有哪位大哥推荐一下m (2025-12-26 13:21:30)
·MySQL下载与安装教程 (2025-12-26 13:21:26)
·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)