结构体指针定义及使用

  • Post author:
  • Post category:其他




结构体指针

一、先回顾一下结构体的定义及其使用:

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;
}



版权声明:本文为Personal__原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。