二、学习笔记总结:宏定义、关键字、结构体、枚举等的使用和注意事项

本文详细介绍了C/C++编程中的基本概念,包括#define宏定义、const、static、extern、auto和register关键字,以及struct结构体和枚举的使用。掌握这些核心概念有助于理解程序设计的基础构造。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、#define 宏定义

2、关键字

2.1、const 关键字

2.2、static 关键字

2.3、extern 关键字

2.4、auto 关键字

2.5、register 关键字

3、struct 结构体

4、枚举(enum) 


1、#define 宏定义

define不仅可以为类型定义别名,还可以为数值定义别名。

#define  CONST             const
#define  ADDRESS           0x0100 
#define  LENGTH            100

2、关键字

2.1、const 关键字

const uint16_t   NUMBER= 10;

const   type  variable  =  value ;  (type  数据类型;variable  变量名;value  变量值)

2.2、static 关键字

①静态局部变量:在函数内部定义的静态变量,即便函数返回,它的值也不会改变。如果未对该变量赋初值,编译器会把它初始化为1。

void para_t (void)
{
   static int number = 10;        /* 声明局部变量 */
   number--;
   ......             
}

②静态全局变量仅对当前文件可见,其他文件不可访问,其他文件可以定义与其同名的变量。

static int  count =  10;                /* 声明全局变量 */

③使用static关键字声明的函数,只能用于该函数文件中。

static void DeviceEnable( );          /* 使用static关键字声明该函数 */

2.3、extern 关键字

利用extern关键字声明,可以在本文件中引用另一个文件定义的函数或者变量。

①提供全局变量的引用

extern int count;                /* 声明 */

②提供函数的引用

extern void WriteEnable( );          /* 函数*/

2.4、auto 关键字

只能用在函数内,只能修饰局部变量。

void day_t (void)
{
   auto int day;
   .....           
}

2.5、register 关键字

只用于需要快速访问的变量,变量可能存储在寄存器中。

void kilo_t (void)
{
   register int kilo;
   .......            
}

3、struct 结构体

使用结构体(struct) 来存放相同或不同类型的数据。结构体是一种集合,它里面包含了多个变量或数组,每个变量或数组都称为结构体的成员。

typedef union
{
    uint16_t SwId[SW_LENGTH];
    struct
    {
        union
        {
            uint16_t        Company[2];     
            struct
            {
                uint16_t    Value_A       : 8;
                uint16_t    Value_B       : 8;
                uint16_t    Value_C       : 8;
                uint16_t    Value_D       : 8;
            };
        };  
        uint16_t        Model;       
        uint16_t        Rsvd40[2];    
    };
}sw_variant_t;

4、枚举(enum) 

使用枚举,可以使代码看起来更简洁。

typedef enum
{
    YEAR     = 1,    
    MONTH    = 2,    
    DAY      = 3,       
}date_t;

暂且先总结这些,后续再继续补充。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值