C语言结构体4如何实现复杂数据管理?

2026-04-12 03:231阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计704个文字,预计阅读时间需要3分钟。

C语言结构体4如何实现复杂数据管理?

1. 一个变量如用来存放地址的,该变量称为指针变量+int *p=a;+//p的类型是int*+//变量是+p;+//:解引用操作符/间接访问操作符+

1、一个变量如用来存放地址的,该变量称为指针变量

int* p=&a; //p的类型是int*,变量是

p; //:解引用操作符/间接访问操作符

C语言结构体4如何实现复杂数据管理?

#include <stdio.h> int main() { int a=10;//分配了4个字节的空间 printf("%p\n",&a); int* p=&a; //这里的*只提示p是一个指针变量,无其他作用 printf("%p\n",p); // *p=20;//*:指解引用操作符/间接访问操作符 printf("%d\n",a); return 0; }

一、结构体

结构体使C语言有能力描述复杂类型,eg:描述学生(学生包含:年龄、学号等多项信息)

人、书——复杂对象——使用结构体来描述,——这个是我们创造出来的一种类型

创建一个结构体类型

#include <stdio.h> //创建一个结构体类型 struct Book { char name[20];//书名定为:C语言程序设计 short price;//价格定为:55 };//;不能缺少,用于结束该类型定义 int main() { //利用结构体类型——创建出一个该类型的结构体变量 struct Book b1={"C语言程序设计",55}; printf("书名:%s\n",b1.name);//输出结果:书名:C语言程序设计 printf("价格:%d\n",b1.price);//输出结果:价格:55 b1.price=20; printf("修改后的价格:%d元\n",b1.price);//输出结果:修改后的价格:20元 return 0; }

修改结构体中的内容

使用strcpy需要引用string.h头文件

price变量是可以 b1.price=15;直接修改的

name不是变量是数组,无法直接修改,数组名本质是一个地址

使用strcpy修改:--string copy-字符串拷贝-库函数-string.h

#include <stdio.h> #include <string.h> //使用strcpy需要引用string.h头文件 //创建一个结构体类型 struct Book { char name[20];//书名定为:C语言程序设计 short price;//价格定为:55 }; int main() { //利用结构体类型——创建出一个该类型的结构体变量 struct Book b1={"C语言程序设计",55}; strcpy(b1.name,"C++"); //strcpy--string copy-字符串拷贝-库函数-string.h printf("%s\n",b1.name); return 0; }

//. :结构体变量.成员

//-> :结构体指针->成员

#include <stdio.h> //创建一个结构体类型 struct Book { char name[20];//书名定为:C语言程序设计 short price;//价格定为:55 }; int main() { //利用结构体类型——创建出一个该类型的结构体变量 struct Book b1={"C语言程序设计",55}; struct Book* pb=&b1; //利用pb打印出书名和价格 printf("%s\n",(*pb).name); printf("%d\n",(*pb).price); 把上两行可以替换为下两行,利用指针特性 printf("%s\n",pb->name); printf("%d\n",pb->price); return 0; }


本文共计704个文字,预计阅读时间需要3分钟。

C语言结构体4如何实现复杂数据管理?

1. 一个变量如用来存放地址的,该变量称为指针变量+int *p=a;+//p的类型是int*+//变量是+p;+//:解引用操作符/间接访问操作符+

1、一个变量如用来存放地址的,该变量称为指针变量

int* p=&a; //p的类型是int*,变量是

p; //:解引用操作符/间接访问操作符

C语言结构体4如何实现复杂数据管理?

#include <stdio.h> int main() { int a=10;//分配了4个字节的空间 printf("%p\n",&a); int* p=&a; //这里的*只提示p是一个指针变量,无其他作用 printf("%p\n",p); // *p=20;//*:指解引用操作符/间接访问操作符 printf("%d\n",a); return 0; }

一、结构体

结构体使C语言有能力描述复杂类型,eg:描述学生(学生包含:年龄、学号等多项信息)

人、书——复杂对象——使用结构体来描述,——这个是我们创造出来的一种类型

创建一个结构体类型

#include <stdio.h> //创建一个结构体类型 struct Book { char name[20];//书名定为:C语言程序设计 short price;//价格定为:55 };//;不能缺少,用于结束该类型定义 int main() { //利用结构体类型——创建出一个该类型的结构体变量 struct Book b1={"C语言程序设计",55}; printf("书名:%s\n",b1.name);//输出结果:书名:C语言程序设计 printf("价格:%d\n",b1.price);//输出结果:价格:55 b1.price=20; printf("修改后的价格:%d元\n",b1.price);//输出结果:修改后的价格:20元 return 0; }

修改结构体中的内容

使用strcpy需要引用string.h头文件

price变量是可以 b1.price=15;直接修改的

name不是变量是数组,无法直接修改,数组名本质是一个地址

使用strcpy修改:--string copy-字符串拷贝-库函数-string.h

#include <stdio.h> #include <string.h> //使用strcpy需要引用string.h头文件 //创建一个结构体类型 struct Book { char name[20];//书名定为:C语言程序设计 short price;//价格定为:55 }; int main() { //利用结构体类型——创建出一个该类型的结构体变量 struct Book b1={"C语言程序设计",55}; strcpy(b1.name,"C++"); //strcpy--string copy-字符串拷贝-库函数-string.h printf("%s\n",b1.name); return 0; }

//. :结构体变量.成员

//-> :结构体指针->成员

#include <stdio.h> //创建一个结构体类型 struct Book { char name[20];//书名定为:C语言程序设计 short price;//价格定为:55 }; int main() { //利用结构体类型——创建出一个该类型的结构体变量 struct Book b1={"C语言程序设计",55}; struct Book* pb=&b1; //利用pb打印出书名和价格 printf("%s\n",(*pb).name); printf("%d\n",(*pb).price); 把上两行可以替换为下两行,利用指针特性 printf("%s\n",pb->name); printf("%d\n",pb->price); return 0; }