C:结构体

1.结构体

1.1 结构体定义

  • 语法
struct 结构体名{
  成员列表
};

例如:

struct Student{
  char name[32];
  int age;
  float score;
};

1.2 定义结构体变量

  • 语法
struct 结构体名 结构体变量名

例如:

struct Stuednt s1;

1.3 结构体成员引用

  • 语法
结构体变量名.结构体成员名

例如:

s1.name;
printf("%s %d %f\n",s1.name,s1.age,s1.score);

1.4 结构体成员赋值

数值类型成员可以直接赋值,字符串类型变量需要使用字符串复制函数。

char s[32] = "salt";
s1.age = 18;
strcpy(s1.name,s);
s1.score = 100;

1.5 结构体赋值

结构体变量整体赋值就是给结构体所有成员一起赋值。
结构体能整体赋值,数组、字符串不能直接赋值。

struct Student s1;
struct Sudent s2;
strcpy(s1,name,"salt");
s1.age = 18;
s1.score = 100;
s2 = s1;

1.6 结构体整体初始化

  • 注意:赋值数据顺序必须与结构体成员声明顺序一致。
struct Student{
  char name[32];
  int age;
  float score;
};


struct Student s1 = {"salt",18,100};

1.7 结构体部分初始化

struct Point3D{
  int x;
  int y;
  int z;
};

struct Point3D p = {.x = 10,.z = 20};
#include <stdio.h>

struct Point3D{
    int x;
    int y;
    int z;
};

int main()
{
    struct Point3D p = {.x=10,.z=20};
    printf("x:%d y:%d z:%d\n",p.x,p.y,p.z);

    struct Point3D p2 = {10,20};
    printf("x:%d y:%d z:%d\n",p2.x,p2.y,p2.z);
}
1.7 结果

2. 其他语法

2.1 定义结构体并同时定义结构体变量

struct Student{
  char name[32];
int age;
float score;
}s1,s2;

2.2 定义结构体并同时定义结构体变量并赋初值

struct Student{
  char name[32];
int age;
float score;
}s1 = {"salt",18,100};
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容