C语言基础:C语言结构体(3) - 结构体的定义方式

本文介绍了C语言中结构体的定义方式,包括定义类型同时定义变量,以及结构体的作用域规则。强调了结构体作用域的全局和局部效果,并提醒不能重复定义同类型名的结构体。
摘要由CSDN通过智能技术生成

前面我们讲解了结构体在内存中是如何存储的, 这次我们来讲解一下结构体定义的一些基本认识.


下面我们看一个例子:

#include <stdio.h>

int main()
{
    struct Student stu
    {
        int age;    //年龄
        double height;  //身高
        char *name; //名称
    };
    
    return 0;
}

上面这是我们之前学习的结构体定义方式, 其实还有几种方式, 让我们来继续往下看:

1. 定义类型的同时定义变量

    struct Student
    {
        int age;
        double height;
        char *name;
    }stu;

2. 定义类型后再定义变量

    struct Student
    {
        int age;
        double height;
        char *name;
    };
    struct Student stu;

 3.  定义类型的同时定义变量(省略了类型名称)

    struct
    {
        int age;
        double height;
        char *name;
    }stu;
    struct stu;


还有一个关于结构体的作用域:

 1> 定义在函数外面:全局有效(从定义类型的那行开始,一直到文件结尾)

 2> 定义在函数(代码块)内部:局部有效(从定义类型的那行开始,一直到代码块结束)


注意事项:

结构体和其他变量一样, 不能重复定义同类型名的结构体比如:

     struct Student
     {
        int age;
        double height;
        char *name;
     } stu;
     
     struct Student
     {
        int age;
        double height;
        char *name;
     } stu2;

上面这这种写法编译器是会报错的, 如果需要一个结构体多用, 那就需要像下面这样子:

     struct Student
     {
     int age;
     double height;
     char *name;
     } stu;
     
     struct Student stu2;

这样子就可以实现一个结构体多个变量名重用, 而它们相互之间不会相互影响~~~



好了这次就讲到这里, 下次我们继续~~~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值