c 语言 ---- 结构体

什么是结构体

自定义的数据类型

结构体的声明定义


//1.先声明再定义
struct point{
	int x;
	int y;
};

struct point p1,p2;

//2.声明的同时定义
struct point{
	int x;
	int y;
}p1,p2;

typedef定义别名
关键字typedef用于为系统固有的或者程序员自定义的数据类型定义一个别名。数据类型的别名通常使用大写字母。
typedef int INTEGER;
这样就为int定义了一个新的名字INTEGER,int与INTEGER是一个意思,是完全等价的。

所以,我们当然也可以使用typedef来为结构体定义一个别名,让我们使用更加方便。

typedef struct student{
    char name[20]; 
    long long id; 
    int age; 
    float score; 
}STU;//声明结构体的同时起一个别名,STUDENT就相当于struct student

结构体内部变量的访问

访问格式:`结构体变量名`+`.`+`数据变量名`
#include <stdio.h>

struct student{
	 char name[20];//姓名
	    int age;//年龄
	    char gender;//性别
	    long long id;//学号
};//先声明
typedef struct student STUDENT;//再起别名

int main(){
	STUDENT st1;
	//初始化
	st1.age = 18;
	printf("
	%d",st1.age);
	//赋值初始化
	STUDENT stu= {"李华",18,'w',202231061201};
	return 0;
}

使用

结构体指针

#include <stdio.h>

struct student{
    char name[20]; 
    long long id; 
    int age; 
    char gender; 
};
typedef struct student STUDENT;

int main(){
	STUDENT *st1;//定义一个STUDENT类型的指针
	STUDENT stu;//定义一个STUDNET结构体
	st1 = &stu;//将是st1指针指向stu
	st1->id = 202231061201;//注意用的是->
	scanf("%s",st1->name);
	scanf("%d",&st1->age);
	st1->gender = 'w';
	printf("%s%d岁了\n",st1->name,st1->age);
	printf("%s%d岁了",(*st1).name,(*st1).age);//st1指针解引用之后就与普通结构体变量一样用.
	return 0;
}

结构体数组

#include <stdio.h>

struct student{
    char name[20];//姓名
    int age;//年龄
    char gender;//性别
    long long id;//学号
};
typedef struct student STUDENT;

int main(){
	STUDENT stu[3] = {{"李华",18,'w',202231061201},
					{"小红",19,'m',202231061202},
					{"小明",20,'w',202231061203}};
	return 0;
}

相关推荐

  1. c语言-结构

    2024-06-11 00:00:05       65 阅读
  2. 结构(C语言)

    2024-06-11 00:00:05       55 阅读
  3. C语言结构

    2024-06-11 00:00:05       50 阅读
  4. C语言----结构

    2024-06-11 00:00:05       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 00:00:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 00:00:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 00:00:05       82 阅读
  4. Python语言-面向对象

    2024-06-11 00:00:05       91 阅读

热门阅读

  1. C++入门7 类|构造函数|析构函数

    2024-06-11 00:00:05       20 阅读
  2. linux Ubuntu安装samba服务器与SSH远程登录

    2024-06-11 00:00:05       34 阅读
  3. MC服务器怎么搭建

    2024-06-11 00:00:05       32 阅读
  4. TypeScript (TS) 类型定义总结

    2024-06-11 00:00:05       30 阅读
  5. spring 事务隔离级别

    2024-06-11 00:00:05       32 阅读
  6. 实验3-单链表(优化版/王道版)

    2024-06-11 00:00:05       31 阅读
  7. 数据结构-哈希表

    2024-06-11 00:00:05       34 阅读
  8. Qt定时器

    2024-06-11 00:00:05       32 阅读
  9. 【第一篇】SpringSecurity的入门

    2024-06-11 00:00:05       32 阅读
  10. 【手撕面试题】Vue(高频知识点五)

    2024-06-11 00:00:05       35 阅读