![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 61
惟江上清风
东方欲晓,莫道君行早,踏遍青山人未老,风景这边独好!
展开
-
大端小端字节序,网络字节序,Intel字节序
一、字节序计算机硬件存储数据有两种方式:大端字节序(big endian)和小端字节序(little endian)。小端字节序:即低地址存低位字节,或者说在起始地址存放低位字节(Intel的机器都是采用的这种存储方法,因此有时候直接称为Intel字节序);大端字节序:即低地址存高位字节,或者说在起始地址存放高位字节(人类读写数值的方法,网络字节序也是这种字节序);注:只有多字节数据的存取才牵涉到字节序,单字节数据存取不牵扯字节序问题。二、网络字节序在网络协议中,TCP/IP协议使用原创 2022-01-22 13:37:25 · 4282 阅读 · 0 评论 -
程序中变量的存储和显示
一、存储和显示存储形式:变量在电脑中的存储形式,数值变量都是以补码的形式进行存储的(正数的原码、反码、补码是相同的;负数的原码,反码,补码是不同的);显示形式:将变量的存储数据,经过处理后,显示给人看的,因此用户才能看到正数,负数,字符型数据;二、字符型变量字符型变量在内存中存储的是ASCII码值,每个字符都有对应的ASCII码,因此在存储的时候存储的是字符型变量对应的ASCII码;在显示的时候,按照%c格式显示,则显示的是对应的字符;按照%d格式显示,则显示的是对应的ASCII码,即数原创 2022-01-22 13:02:30 · 1297 阅读 · 0 评论 -
C/C++中结构体内存对齐(边界对齐),#pragma pack设置
一、首先,为什么要进行内存对齐,即在内存中为什么要这么存放数据呢???原因一:在内存中存放数据是为了给CPU使用,但是CPU从内存中读取数据并非是一个字节一个字节进行读取的,而是一块一块进行读取的,块的大小(具体和数据总线宽度等有关)称为内存读取粒度(memory granularity)。例如:CPU一次从内存读取8字节,而当一个int(4字节)存储在如下位置时,CPU如何获取该int值呢?...原创 2022-01-16 22:10:10 · 4553 阅读 · 8 评论 -
C/C++程序中头文件(.h)与源文件(.c/.cpp)之疑问探索
在程序开发过程中,头文件放什么东西?源文件放什么东西?程序在编译过程中,头文件和源文件是如何编译的?为什么会有重复定义的错误……针对这些问题,今天我们就来细细盘点一下头文件和源文件之间的种种疑问纠葛。头文件,以“.h”为后缀(h为head(头)的首字母),如“animal.h”。头文件中一般存放:函数声明(即函数原型,function prototype)、宏定义、结构体类型定义(即结构体类型声明)、类(class)的定义、类成员(函数,变量)的声明、全局变量的声明(extern)等。代码示例如原创 2022-01-13 19:29:46 · 2435 阅读 · 0 评论