结构体指针定义及使用

结构体指针

一、先回顾一下结构体的定义及其使用:
1、结构体的定义形式如下:
struct 结构体名
{
类型1 成员1;
类型2 成员2;

类型n 成员n;
};
实例如下:

struct stu
{
	char* name;
	int age;
	int num;
};

2、该结构体的使用范例如下所示:

#include <stdio.h>
#include <string.h>

struct stu//定义一个结构体
{
	char* name;
	//char name[10];
	int age;
	int num;
};

int main(void)
{
	struct stu s;//定义一个结构体变量s
	s.name = "Bob";//给结构体变量s赋值
	//strcpy(s.name,"Bob");//如果把name定义为一个数组则使用该语句赋值
	s.age = 22;
	s.num = 6;

	printf("name=%s\n", s.name);//输出结构体变量s的内容
	printf("age=%d\n", s.age);
	printf("num=%d\n", s.num);

	return 0;
}

二、结构体指针的定义及使用
1、结构体指针的定义:
struct 结构体名 *指针变量名;
实例如下:

struct stu//先定义一个结构体
{
	char* name;
	int age;
	int num;
};

struct stu s1,*s;//定义一个结构体变量和一个结构体指针

2、该结构体的使用范例如下:

#include <stdio.h>
#include <string.h>

struct stu//定义一个结构体
{
	char* name;
	//char name[10];
	int age;
	int num;
};

int main(void)
{
	struct stu s1,*s;//定义一个结构体变量和一个结构体指针
	s = &s1;//让指针s指向结构体变量s1,就是将s1的首地址赋予指针s
	s->name = "Bob";//赋值
	//strcpy(s->name,"Bob");//如果把name定义为一个数组则使用该语句赋值
	s->age = 22;
	s->num = 6;

	printf("name=%s\n",s->name);//输出内容
	printf("age=%d\n", s->age);
	printf("num=%d\n", s->num);

	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值