c语言struct用法详解
更新时间:2023-09-29关于C语言struct用法的介绍
在C语言中,struct是一种可以定义自己的数据类型的方法。结构体是C语言中的一个重要的数据结构,它可以用来表示一组相关的数据,其定义的语法如下:
struct structure_name{ member_type1 member_name1; member_type2 member_name2; … member_typeN member_nameN; } ;
其中,结构名可以自己定义,也可以省略;成员要声明数据类型并分号结束。定义结构体类型后,可以像使用基本数据类型一样使用结构体类型。
结构体的定义和使用
以下代码展示了如何定义一个简单的结构体类型:
#include#include struct Book { char title[50]; char author[50]; char subject[100]; int book_id; }; int main( ) { struct Book book1; struct Book book2; strcpy( book1.title, "C Programming"); strcpy( book1.author, "Nuha Ali"); strcpy( book1.subject, "C Programming Tutorial"); book1.book_id = 6495407; strcpy( book2.title, "Telecom Billing"); strcpy( book2.author, "Zara Ali"); strcpy( book2.subject, "Telecom Billing Tutorial"); book2.book_id = 6495700; printf( "Book 1 title : %s\n", book1.title); printf( "Book 1 author : %s\n", book1.author); printf( "Book 1 subject : %s\n", book1.subject); printf( "Book 1 book_id : %d\n", book1.book_id); printf( "Book 2 title : %s\n", book2.title); printf( "Book 2 author : %s\n", book2.author); printf( "Book 2 subject : %s\n", book2.subject); printf( "Book 2 book_id : %d\n", book2.book_id); return 0; }
以上代码中使用了struct关键字定义了一个名为Book的结构体类型,包含title、author、subject和book_id四个成员。此后,程序中就可以像使用其他数据类型一样定义结构体类型的变量(book1和book2),并对其成员进行赋值和读取操作。
结构体指针的使用
结构体变量可以通过地址访问其成员。通过使用结构体指针,可以将地址保存到一个与结构体类型匹配的指针中。
#include#include struct Book { char title[50]; char author[50]; char subject[100]; int book_id; }; int main( ) { struct Book book1; strcpy( book1.title, "C Programming"); strcpy( book1.author, "Nuha Ali"); strcpy( book1.subject, "C Programming Tutorial"); book1.book_id = 6495407; struct Book *book_pointer; book_pointer = &book1; printf( "Book 1 title : %s\n", book_pointer->title); printf( "Book 1 author : %s\n", book_pointer->author); printf( "Book 1 subject : %s\n", book_pointer->subject); printf( "Book 1 book_id : %d\n", book_pointer->book_id); return 0; }
以上代码定义了一个指向结构体类型的指针,并将结构体变量book1的地址赋值给指针。可以通过“->”符号访问book_pointer所指向的结构体变量的成员。指针也可以用在函数参数中,以便可以在函数内部修改结构体变量。
结构体数组的使用
结构体也可以放在数组中。使用数组中的结构体,可以访问数组中的个别结构体变量。以下是结构体数组的定义示例:
struct Books { char title[50]; char author[50]; char subject[100]; int book_id; } book[2];
数组中结构体的初始化方式如下:
struct Books Book1 = {"C Programming", "Nuha Ali", "C Programming Tutorial", 6495407}; struct Books Book2 = {"Telecom Billing", "Zara Ali", "Telecom Billing Tutorial", 6495700}; book[0] = Book1; book[1] = Book2;
可以使用循环语句遍历结构体数组,对其中的每个元素进行访问和操作。
这就是关于C语言struct用法的介绍,希望对初学者有所帮助。