当前位置: 首页 > news >正文

网站建设哈尔滨网站建设1企业网站策划书制作

网站建设哈尔滨网站建设1,企业网站策划书制作,怎么在百度发布免费广告,软装设计合同模板第十一章 结构体与共用体 11.1 结构体 声明: struct Student //结构名,符合标识符规则,第一个字母大写 { int id; char name; float score; }; 定义: struct Student(结构名) s(变量名); s.id 1;//“ . ”结构体运算符&…

第十一章 结构体与共用体

11.1 结构体

声明:

struct Student  //结构名,符合标识符规则,第一个字母大写

{

        int id;

        char name;

        float score;

};

定义:

struct Student(结构名)  s(变量名);

s.id = 1;//“  . ”结构体运算符,优先级为1,表达式为int 型

strcpy(s.name,"zhangsan");

s.score = 77;

作用:将不相关的内容打包,封装在一起,可统一引用。

(1)声明可放在头文件中,可在声明后定义变量,具有全局作用域,是全局变量。

(2)初始化:

struct Student s = {1,"zhangsan",77};

次序于声明顺序一致,且可选择元素初始化 s = {.id = 1,.score = 77};结构体成员部分初始化。

(3)结构体变量与变量之间可整体赋值。

考点:下列结果为:

printf("%d\n",sizeof(struct Student));

        内存对齐:cpu与RAM之间由地址总线,数据总线、控制总线连接,其中数据总线有32根,一次性传递32个比特,也就是4个字节,cpu访问时以4个字节为单位,所以系统存储数据时会将变量的地址放在可被四整除的位置上,方便cpu访问,这个过程为内存对齐。

        解法:

(1)默认按照计算机位数对齐,若计算机位数为64,则最终大小必须为64 / 8 = 8的整数倍。

(2)从结构体成员中查找字节数最大的成员,最终大小按此成员大小对齐。

(3)把每个成员按照声明顺序依次存入内存,偏移量 / sizeof(成员)必须整除。

注:

(1)-> :指向结构体成员运算符,当成员用指针指向时可用。

(2)结构体不可整体比较,可被整体赋值。

11.2 共用体

声明:

union 共用体名

{

        ...

} ;

(1)成员共享内存空间,从字节的起始部分开始共享。

(2)其值会被最后成员的值覆盖。

用法:判断小端存储

union Demo

{

        int i;

        char j;

};

int main(void)

{

        union Demo s ;

        s.i = 1;

        if(d.c == 1)

        {

                puts("little");

        }

        else

        {

                puts("big");

        }

}

补充:可用指针判断小端存储

int main(void)

{

        int i = 1;

        char *j = (char *) &i;

        if(*j == 1)

        {        

        puts("little");        

        }

}

11.3 枚举类型

声明:

enum 枚举类型名

{

        ...

};

定义:

 enum 枚举类型名 变量名;

11.4 用typedef定义类型

typedef 数据类型 数据名

好处:使用类型时可简化复杂的类型名称;

坏处:代码可读性降低;

第十二章 位运算

操作数必须是整形或者与整形相兼容的类型。

12.1 位运算符

(1)按位与-" & ",指定位清零 

        参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。

(2)按位或-" | ",指定位置1

        两个相应的二进制位中只要有一个为1,该位的结果值为1。

(3)按位异或-" ^ ",指定位翻转

        若参加运算的两个二进制位同号,则结果为0(假);异号则为1(真)。

(4)按位取反-" ~ "

        是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,将1变0。

(5)左移-"<<"

        用来将一个数的各二进制位全部左移若干位,右边只补零。

补充:

①指定位清零

②指定位置1

(6)右移-">>"

        无符号数右移补零,逻辑右移,有符号数右移补1,算数右移。

http://www.dtcms.com/a/593833.html

相关文章:

  • 53_AI智能体运维部署之集成Prometheus监控系统:构建可观测的AI应用基础设施
  • 福建平潭建设局网站室内设计师经常用的网站
  • 政务配发移动设备管理解决方案
  • 【CCF-CSP】第三次认证03-02 Z字形扫描
  • 西柏坡旅游网站建设规划书企业网站 cms
  • πRL——首个在线RL微调流式VLA π0/π0.5的框架:通过Flow-Noise和Flow-SDE实现精确对数似然估计,全面提升性能
  • 求n以内自守数个数
  • 找做金融的网站有哪些深圳建设集团招标
  • Java大厂面试真题:从Spring Boot到AI微服务的三轮技术拷问(一)
  • 如何解决 “Error parsing JSON: invalid character ‘<’ looking for beginning of value”
  • 一个网站如何挣钱seo平台优化服务
  • 丽水市城市建设投资有限责任公司网站注册公司在哪核名
  • 深度学习:从零开始手搓一个浅层神经网络(Single Hidden Layer Neural Network)
  • 网站开发 犯法公司起名在线生成器
  • 免费.网站最新域名保定市建设局网站
  • React + TypeScript 笔试题库
  • SpringBoot项目如何使用Log4j2+SLF4J构建日志
  • AI Agent开发实战:基于ReAct范式的智能体构建与优化
  • 一线大厂 Java 岗面试通关指南:笔试题 + 面试题(答案解析)
  • C#高级:使用进程锁语法避免线程竞争资源,做到并发控制(Mutex)
  • 怎么做才能使网站ip增多网站建设哪些好
  • 龙虎榜——20251110
  • web网页开发,在线%就业信息管理%系统,基于idea,html,layui,java,springboot,mysql。
  • 网站换空间 seo西安做网站程序
  • 专为男人做的网站百度明星搜索量排行榜
  • ZSAR配置CANSM模块
  • STM32外设学习--DMA直接存储器读取--学习笔记。
  • 一本通网站1130:找第一个只出现一次的字符
  • 西安做网站那家好诸城做网站收费
  • 写的网站怎么做接口创造网站软件