1、将数组中的元素再定义为特殊的名字方便程序中使用

本文介绍了一个使用C语言实现的位操作示例,通过定义结构体和联合体来操作位,并展示了如何初始化这些位以及如何修改特定位的值。此外,还提供了一个简单的“Hello, world」程序。

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

 // Borland C++ - (C) Copyright 1991, 1992 by Borland International

/*    HELLO.C -- Hello, world */

#include <stdio.h>

typedef struct Sbit                   // 定义结构类型
{
  unsigned int bit0:1;
  unsigned int bit1:1;
  unsigned int bit2:1;
  unsigned int bit3:1;
  unsigned int bit4:1;
  unsigned int bit5:1;
  unsigned int bit6:1;
  unsigned int bit7:1;
  unsigned int bit8:8;
};
typedef union uu                      // 定义联合类型
{
  unsigned int  all;
  Sbit          bit;
};


uu1 aa[3];                           // 定义联合数据类型的数组


#define u0  (*(uu *)(aa))            // 将数组中的每个元素再定义为特定的名字
#define u1  (*(uu *)(aa+1))        // 接下来的元素
#define u2  (*(uu *)(aa+2))
#define u3  (*(uu *)(aa+3))




int main()
{
    aa[0].all = 0x0F;
    u0.bit.bit1 = 0;
/*    u0 = 0x0F;
    u1.all = 1;
    u2.all = 2;
    u3.all = 3;        */
    printf("Hello, world/n");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值