C程序设计中的结构

C提供基本数据类型,如 int , char , float 但是为了解决现实世界中的问题,我们需要的不仅仅是这些类型。较新的面向对象语言有很多特性来实现实际情况。例如, C++ 提供 Object Oriented 我们可以实现真实世界对象的功能。C编程缺少这些特性,但提供了类型。struct用于提供复合数据类型,它可以提供多个基元类型。

null

定义结构

定义结构类似于联合。我们将提供要存储在结构中的元素和结构的名称,如下面的语法所示。

struct [STRUCT_NAME] { MEMBER... } STRUCT_VARIABLES];

语法可以提供一些关于struct的提示,但是理解和学习struct的最好方法是将struct定义为一个真实的例子。在本例中,我们将创建一个名为 Student 哪些有以下成员?

  • name 学生姓名为 char 变量
  • id 持有学号为 int

我们只使用了两个成员使事情变得简单,但是除了内存之外,其他成员没有限制。

struct Student {    int id;    char name[20]; };

初始化结构

我们可以初始化如下所示的新结构变量,只需提供 struct 关键字和要使用的结构名和变量名。这里我们创建一个名为 s1 具有 Student 结构类型。

struct Student s1;

访问结构成员

我们已经定义了结构成员 id name . 我们需要设置并获取这些成员的值。我们可以简单地用结构变量名和成员名访问它们。

#include  #include   struct Student {    int id;    char name[20]; };  int main( ) {     struct Student s1;           s1.id=123;    strcpy( s1.name, "Ahmet Ali");     printf( "Studen ID : %i", s1.id);    printf( "Studen Name : %s", s1.name);     return 0; }

我们已经用下面的行设置了id

s1.id=123;

我们还可以访问 id 变量如下。

printf( "Studen ID : %i", s1.id);

结构作为函数参数

我们已经看到结构提供了良好的灵活性。我们通常使用结构将值传递给函数。在这一部分中,我们将研究如何将结构变量传递给函数。我们需要像定义普通结构一样,将结构参数定义为函数参数。

#include  #include    struct Student {    int id;    char name[20]; };   void print(struct Student s) {    printf( "Studen ID : %i", s.id);    printf( "Studen Name : %s", s.name); }    int main() {     struct Student s1;             s1.id=123;    strcpy( s1.name, "Ahmet Ali");     print(s1);     return 0; }

相关文章: Memcached Prepend操作与Python示例

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享