结构体指针定义及使用「终于解决」

(60) 2023-04-03 18:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说结构体指针定义及使用「终于解决」,希望能够帮助你!!!。

结构体指针

一、先回顾一下结构体的定义及其使用:
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;
}

上一篇

已是最后文章

下一篇

已是最新文章

发表回复