当前位置:网站首页>Sizeof keyword
Sizeof keyword
2022-07-06 22:31:00 【It's Beichen not too PI acridine】
sizeof keyword
1.sizeof It's a keyword, not a function , It is 32 One of the keywords .
2.sizeof When calculating the space occupied by variables , Brackets can be omitted , Calculation type ( Mold ) Size cannot be omitted . In general , Let's not steal this lazy , Write brackets obediently .
3.sizeof The returned footprint is the size opened up for this variable , Not the space it uses . So when it comes to structures , In most cases, we have to consider the problem of byte alignment .
4.sizeof The data type returned is unsigned int; An unsigned number and a signed number operation , Most compilers convert to unsigned type operations .
5. Pay attention to the difference between array names and pointer variables . Usually , We always think that array names are similar to pointer variables , But in use sizeof It's very different when , Use... For array names sizeof Returns the size of the entire array , When operating on a pointer variable, the return is the space occupied by the pointer variable itself , stay 32 Under the condition of bit machine, it is generally 4 byte . And when the array name is used as a function parameter , Inside the function , A formal parameter is just a pointer , So no longer return the size of the array .
sizeof(int)*p What do you mean ?
answer : For calculation int Number of bytes occupied by type , And then multiply by p.
32 A system. :
The pointer size is determined by the current CPU The addressing bits of the operation mode determine .Intel 32 Bit processor 32 Bit operation mode , Logical addressing bits 32, The pointer is 32 position , namely 4 Bytes .Intel 32 Bit processor 16 Bit virtual machine operation mode , Logical addressing bits 16, The pointer is 16 position , namely 2 Bytes .
int *p = NULL;
sizeof( p ) What's the value of ?
answer : Pointer address is used DWORD, sizeof( p ) yes 4 byte
sizeof(*p) Well ?
answer : be equal to sizeof(int) , Probably yes 2 byte It could be 4 byte
(DWORD Namely Double Word, Every word by 2 The length of bytes ,DWORD Double word is 4 Bytes , Each byte is 8 position , common 32 position .)
int a[100];
sizeof (a) What's the value of ?
answer :sizeof(a) = sizeof(int) * 100 = 4 * 100 = 400 byte
sizeof(a[99]) Well ?
answer : Please 100 The size of an element , use int Deposit , Occupy 4 Bytes
sizeof(&a) Well ?
answer : Means to store a The size of the address space and memory address , namely &a It's also an address value . An address is used int Storage is also 4 Bytes
sizeof(&a[0]) Well ?
answer : Take the address of the first element , use int Deposit , Occupy 4 Bytes
int b[100];
void fun(int b[100])
{
sizeof(b);
}
sizeof (b) What's the value of ?
answer :fun In the parameter list b It's a pointer , stay 32 Bit system , The pointer is always 4 Bytes .
边栏推荐
- Report on technological progress and development prospects of solid oxide fuel cells in China (2022 Edition)
- ResNet-RS:谷歌领衔调优ResNet,性能全面超越EfficientNet系列 | 2021 arxiv
- Heavyweight news | softing fg-200 has obtained China 3C explosion-proof certification to provide safety assurance for customers' on-site testing
- 12、 Start process
- 变量与“零值”的比较
- Clip +json parsing converts the sound in the video into text
- 数据处理技巧(7):MATLAB 读取数字字符串混杂的文本文件txt中的数据
- 自定义 swap 函数
- [linear algebra] determinant of order 1.3 n
- 第3章:类的加载过程(类的生命周期)详解
猜你喜欢
机试刷题1
Seata aggregates at, TCC, Saga and XA transaction modes to create a one-stop distributed transaction solution
[Digital IC hand tearing code] Verilog burr free clock switching circuit | topic | principle | design | simulation
PVL EDI project case
基于 QEMUv8 搭建 OP-TEE 开发环境
(十八)LCD1602实验
Adavit -- dynamic network with adaptive selection of computing structure
云原生技术--- 容器知识点
Seata聚合 AT、TCC、SAGA 、 XA事务模式打造一站式的分布式事务解决方案
MySQL ---- first acquaintance with MySQL
随机推荐
LeetCode 练习——剑指 Offer 26. 树的子结构
Crawler obtains real estate data
Web APIs DOM 时间对象
Unity3d minigame unity webgl transform plug-in converts wechat games to use dlopen, you need to use embedded 's problem
Dealing with the crash of QT quick project in offscreen mode
Leetcode exercise - Sword finger offer 26 Substructure of tree
Seata aggregates at, TCC, Saga and XA transaction modes to create a one-stop distributed transaction solution
变量与“零值”的比较
Sword finger offer question brushing record 1
如何实现文字动画效果
Gd32f4xx serial port receive interrupt and idle interrupt configuration
Anaconda installs third-party packages
机试刷题1
基于 QEMUv8 搭建 OP-TEE 开发环境
volatile关键字
Applet system update prompt, and force the applet to restart and use the new version
Unity3d minigame-unity-webgl-transform插件转换微信小游戏报错To use dlopen, you need to use Emscripten‘s...问题
Export MySQL table data in pure mode
PVL EDI 项目案例
The ceiling of MySQL tutorial. Collect it and take your time