zl程序教程

您现在的位置是:首页 >  工具

当前栏目

数据结构学习(结构体复习)

学习数据结构 结构 复习
2023-09-27 14:28:46 时间

为什么会出现结构体

为了表示一些复杂的数据,而普通的基本类型变量无法满足要求

什么叫做结构体

结构体是用户根据实际需要自己定义的复合数据类型

如何使用结构体

两种方式:

struct Student st = {1000,"zhangxu",20};

struct Student *pst = 

1.

St.sid

2.

Pst- sid

Pst所指向的结构体变量中的sid这个成员

注意事项

1.结构体变量不能加减乘除,但可以相互赋值

2.普通结构体变量和结构体指针变量作为函数传参的问题

#include stdio.h
#include string.h
struct Student
{
 int sid;
 char name[200];
 int age;
};//分号不能省
int main(void)
{
 struct Student st = {1000,"zhangxu",20};
 printf("%d   %s   %d\n",st.sid,st.name,st.age);
 st.sid = 99;
 //st.name = "lisi";//error
 strcpy(st.name,"lisi");
 st.age = 22;
 printf("%d   %s   %d\n",st.sid,st.name,st.age);
 return 0;
}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#include stdio.h
struct Student
{
 int sid;
 char name[200];
 int age;
};
int main(void)
{
 struct Student st = {1000,"zhangxu",20};
 //st.sid = 99;//第一种方式
 struct Student *pst;
 pst =
 pst- sid = 99;//第二种方式 pst- sid等价于(*pst).sid,而(*pst).sid等价于 st.sid,所以 pst- sid等价于st.sid  return 0;
}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#include stdio.h
struct Student
{
 int sid;
 char name[200];
 int age;
};
int f(struct Student * pst);
int g(struct Student * st);
int main(void)
{
 struct Student st;//和 int i一样
 int i;//内存给分配空间了
 f( st);
 g( st);

 return 0;
}
int f(struct Student * pst)
{
 (*pst).sid = 99;
 strcpy(pst- name,"lisi");
 pst- age = 22;
}
int g(struct Student *st)
{
 printf("%d   %s   %d\n",st- sid,st- name,st- age);
}

 


【C语言数据结构2】--指针的简单复习 指针作为C语言的重点,在数据结构中也发挥了重要作用,对指针的理解很有助于我们实现各种数据结构。所以我觉得有必要来复习一下指针的内容。本次复习是假设读者已经对指针有了大致的了解,知道取地址符、间接寻找符等运算符的作用,知道指针的运算等。这次复习是对一些细节内容的复习,而且是针对数据结构学习到的内容复习。