C语言学习——结构体数据类型

简介: C语言学习——结构体数据类型

本章节比较简单不做过多说明,直接上案例,如有疑问,欢迎留言。


结构体作为函数参数


#include <stdio.h>
#include <string.h>
struct Books
{
  char name[50]; 
  char author[50]; 
  int book_id;
};
// 函数声明
void printBook(struct Books *book); 
// 结构体指针变量 必须得到结构体变量的地址(分配地址)同类型
int main()
{
  struct Books Book1;   // 声明 Book1,类型为 Books 
  struct Books Book2;   // 声明 Book2,类型为 Books 
  // Book1 详述 
  strcpy_s(Book1.name, 50, "C Programming"); 
  strcpy_s(Book1.author, 50, "Vico"); 
  Book1.book_id = 1006; 
  // Book2 详述
  strcpy_s(Book2.title,50, "C++ Programming"); 
  strcpy_s(Book2.author,50, "Sail"); 
  Book2.book_id = 1007;
  // 通过传 Book1 的地址来输出 Book1 信息
  printBook(&Book1); 
  printf("\n"); 
  // 通过传 Book2 的地址来输出 Book2 信息 
  printBook(&Book2); 
  return 0; 
}
void printBook(struct Books *book) 
{ 
  printf("Book title : %s\n" , book->name); 
  printf("Book author : %s\n" , book->author); 
  printf("Book book_id : %d\n" , book->book_id); 
}


结果如下


相关文章
|
14天前
|
C语言
C语言结构体内存对齐
C语言结构体内存对齐
|
17天前
|
存储 编译器 Linux
【C语言】自定义类型:结构体深入解析(二)结构体内存对齐&&宏offsetof计算偏移量&&结构体传参
【C语言】自定义类型:结构体深入解析(二)结构体内存对齐&&宏offsetof计算偏移量&&结构体传参
|
14天前
|
存储 C语言
C语言自定义类型结构体详解
在C语言中,结构体是复合数据类型,能组合不同类型的数据显示。定义结构体用`struct`关键字,如`struct Student {char name[20]; int age; float score;};`。声明结构体变量如`struct Student stu1;`,访问成员用`.`操作符,如`stu1.age = 20;`。初始化可直接赋值`struct Student stu1 = {&quot;李四&quot;, 22, 85.5};`。结构体数组如`struct Student stuArray[3]`,结构体指针如`struct Student *pStu = &stu1;`。
5 0
|
17天前
|
存储 搜索推荐 编译器
【C语言】一篇文章深入解析联合体和枚举且和结构体的区别
【C语言】一篇文章深入解析联合体和枚举且和结构体的区别
|
17天前
|
存储 网络协议 编译器
【C语言】自定义类型:结构体深入解析(三)结构体实现位段最终篇
【C语言】自定义类型:结构体深入解析(三)结构体实现位段最终篇
|
25天前
|
存储 编译器 C语言
【C语言】结构体的大小是如何计算的?(结构体对齐)
【C语言】结构体的大小是如何计算的?(结构体对齐)
26 0
|
27天前
|
存储 编译器 C语言
C语言3🔥:常用的数据类型
C语言3🔥:常用的数据类型
14 0
|
27天前
|
Java C语言 C++
C语言由入门到精通(1)介绍与数据类型
C语言由入门到精通(1)介绍与数据类型
|
29天前
|
存储 网络协议 编译器
C语言第三十一弹---自定义类型:结构体(下)
C语言第三十一弹---自定义类型:结构体(下)