当前位置:网站首页>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 .
边栏推荐
- return 关键字
- Daily question 1: force deduction: 225: realize stack with queue
- ThreadLocal详解
- (十八)LCD1602实验
- Crawler obtains real estate data
- [IELTS speaking] Anna's oral learning record part1
- Build op-tee development environment based on qemuv8
- Web APIs DOM time object
- SQL Server生成自增序号
- Export MySQL table data in pure mode
猜你喜欢

Build op-tee development environment based on qemuv8

每日一题:力扣:225:用队列实现栈

MySQL ---- first acquaintance with MySQL

Data processing skills (7): MATLAB reads the data in the text file TXT with mixed digital strings

树的先序中序后序遍历

NPDP认证|产品经理如何跨职能/跨团队沟通?

Seata聚合 AT、TCC、SAGA 、 XA事务模式打造一站式的分布式事务解决方案

rust知识思维导图xmind

Memorabilia of domestic database in June 2022 - ink Sky Wheel

leetcode:面试题 17.24. 子矩阵最大累加和(待研究)
随机推荐
Installation and use of labelimg
2022-07-05 stonedb的子查询处理解析耗时分析
OpenCV VideoCapture. Get() parameter details
Signed and unsigned keywords
小程序系统更新提示,并强制小程序重启并使用新版本
The SQL response is slow. What are your troubleshooting ideas?
[leetcode] 19. Delete the penultimate node of the linked list
2021 geometry deep learning master Michael Bronstein long article analysis
i. Mx6ull build boa server details and some of the problems encountered
中国1,4-环己烷二甲醇(CHDM)行业调研与投资决策报告(2022版)
Aardio - 不声明直接传float数值的方法
(18) LCD1602 experiment
UDP编程
uniapp滑动到一定的高度后固定某个元素到顶部效果demo(整理)
NPDP certification | how do product managers communicate across functions / teams?
MySQL约束的分类、作用及用法
2022-07-05 stonedb sub query processing parsing time analysis
Self made j-flash burning tool -- QT calls jlinkarm DLL mode
Config:invalid signature solution and troubleshooting details
Anaconda installs third-party packages