C语言的补充

本文介绍了C语言中如何通过宏定义模拟bool类型,并探讨了运算符++的前后置优先级问题。同时,提供了简单的代码来判断计算机的大小端模式。文章还展示了结构体占用字节数的示例,强调了字节对齐和最大字节数整数的原则。
摘要由CSDN通过智能技术生成

一,C语言中没有bool类型,
如果要模拟bool类型,需要宏定义

#include<stdio.h>
typedef int bool;
#define true 1
#define fslae 0

int main()
{
    bool flag =true;//如果要用需要宏定义
    _Bool flag =true;//C语言的bool类型
}

二,–/++(前置++优先级小于后置++)
1,a++ 后置(a备份变量,用的是备份变量
2,++a 前置(拿到a,a+1,用的是a本身

int main()
{
     int a=10;
     int b=20;
     a+++++a;//1   ((a++)++)+a    ((tmp++)++)+a
     a+++b;//2    (a++)+b        (tmp)+b
     ++a+++b;//3      ( ++(a++))+b    (++tmp)+b
     ++++++a;//4      ++(++(++b))     前置++用的是自己本身,不是tmp。所以正确
     a++++++;//5       ((a++)++)++    (tmp++)++   

     return 0;
}

所以,2,4是正确的,1,3,5是错误的。

三,判断当前电脑大小端的代码(要求:尽可能简单)

void Test()
{
  int a=1;
  char b=(char)a;
  return b=1;
}
int main()
{
  bool flag = Test();
  return 0;
}

四,
4个字节

typedef struct Data
{
   char a;
   char b;
   char c;
   char d;
}DATA;
int main()
{
    int size=sizeof(DATA);
    count << "size:"  <<  size <<endl;
    return 0;
}

6个字节
在这里插入图片描述
16个字节
在这里插入图片描述
在这里插入图片描述

总结

不仅要以字节对齐,结构体还有是最大字节数的整数

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值