sizeof 相关问题

sizeof是指标准C / C ++运算符,用于返回表达式或数据类型的字节大小。

如何在不使用任何循环的情况下计算 char 数组中 char 的长度?

所以我正在练习我的c语言,我需要如何计算字符数组中字符的长度,因为当我使用 sizeof() 时,我得到了数组的整个长度..

回答 3 投票 0

sizeof("string") 的正确输出是什么?

在微控制器上,为了避免从以前的固件版本加载设置,我还存储了编译时间,该时间在加载时进行检查。 微控制器项目是用“mik...

回答 2 投票 0

具有一个成员的结构体的大小与该成员的大小相同吗?

鉴于 结构体S{ SomeType single_element_in_the_struct; }; 总是这样吗 sizeof(struct S) == sizeof(SomeType) 或者它可能依赖于实现?

回答 3 投票 0

具有灵活数组成员的结构体的大小是多少? [重复]

鉴于 结构体 Foo { uint32_t a; uint32_t b[]; }; 什么是 sizeof(Foo)?它是实现定义的行为还是未定义的行为? C 与 C++ 的答案是否不同?

回答 1 投票 0

具有灵活数组成员的结构体的大小[重复]

鉴于 结构体 Foo { uint32_t a; uint32_t b[]; }; 什么是 sizeof(Foo)?它是实现定义的行为还是未定义的行为? C 与 C++ 的答案是否不同?

回答 1 投票 0

灵活数组成员会增加结构体的大小吗?

我有以下代码: 类型定义结构 { u32 计数; u16列表[]; } 消息_t; ... message_t* 消息 = (message_t*) 缓冲区; 消息->计数=2; 消息->列表[0] = 123; 消息->...

回答 2 投票 0

如果基类没有成员,派生类的大小是多少?

考虑以下继承: 基类{ 受保护: 根据() { } 民众: 双倍乘法(双x); }; 派生类:公共基类{ 双值; 民众: 派生(双重初始化):_v...

回答 1 投票 0

C 程序如何确定数组的大小?

因为“数组”或数组名称只是一个指向数据块“起始点”的指针,所以 sizeof 运算符如何返回数组的大小?我知道...

回答 1 投票 0

C 中的结构对齐优化

#包括 结构X { 短裤; 整数我; 字符c; }; 结构Y { 整数我; 字符c; 短裤; }; 结构Z { 整数我; 短裤; 字符c; }; int main() { ...

回答 1 投票 0

`Marshal.SizeOf<T>()` 和 `Marshal.SizeOf<T>(T 结构)` 的行为不一致

我看到 Marshal.SizeOf<> 方法重载的行为不一致。为了简洁起见,我在这里仅考虑通用重载。 这是在 .NET 8 运行时尝试的。 问题 1:Marshal.Si...

回答 1 投票 0

获取联合内匿名结构的大小

我希望这不是一个重复的问题,但我已经进行了一些详细搜索,但之前没有找到我的确切案例。 我有一个简单的结构,我也希望能够将其作为简单的字节进行访问...

回答 4 投票 0

评估 C++ 中某个内容的大小(以字节为单位)

我有一个来自特征库的稀疏矩阵,定义为: Eigen::SparseMatrix MyMatrix(2**n, 2**n)。 另外我使用了函数reserve: MyMatrix.reserve(Eigen::VectorXi::Constant(2**...

回答 1 投票 0

Arduino (ESP32) - 结构大小和输出混淆

我尝试将结构转换为 EPS32 上的字节流。 在我的结构/联合下面。 #包括 类型定义结构{ uint16_t 标头; 浮动圆周率; uint16_t CRC; } BlackBoxStruct; 类型定义

回答 2 投票 0

计算 SIZE_MAX 元素的长数组的大小

考虑以下代码: #包括 #包括 #包括 #包括 int main(){ size_t cnt = ULONG_MAX; size_t sz = sizeof...

回答 2 投票 0

评估 ULONG_MAX 元素的长数组的大小

考虑以下代码: #包括 #包括 #包括 int main(){ size_t cnt = ULONG_MAX; size_t sz = sizeof(long[cnt]); printf(&quo...

回答 1 投票 0

获取 std::array 底层数组的内存大小的最简单方法?

这是获取 std::array::data() 返回内容的内存大小的最简单/最短的方法吗? arr.size() * sizeof(arr.value_type) 编辑:我的问题不准确。通过“内存大小...

回答 7 投票 0

将 size_t 分配给 off_t 会产生符号转换错误

我正在使用以下版本的gcc: $ gcc --版本 gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 考虑使用 -Werror=sign-conversion 编译的以下简单代码片段: #包括 我正在使用以下版本的gcc: $ gcc --version gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 考虑以下使用 -Werror=sign-conversion 编译的简单代码片段: #include <stddef.h> #include <sys/types.h> int main(void){ size_t sz = sizeof(long); off_t off_1 = sz; //error: conversion to 'off_t' {aka 'long int'} from 'size_t' {aka 'long unsigned int'} may change the sign of the result off_t off_2 = sizeof(long); //compiles fine return 0; } godbolt 实例 根据 N2596/6.5.3.4 sizeof 和 _Alignof 运算符: 两个运算符的结果值都是实现定义的, 它的类型(无符号整数类型)是 size_t,定义于 <stddef.h>(和其他标题)。 所以在我看来,off_t off_1 = sz;的结果应该与off_t off_2 = sizeof(long);相同 为什么off_t off_1 = sz;会产生这个错误? 这一行: off_t off_1 = sz; 产生错误,因为 sz 是一个 unsigned 64 位值 (long unsigned int),而 off_1 是一个 signed 64 位值 (long int)。 一般情况下,有些 sz 的值无法拟合到 off_1 中。 但是在这一行中: off_t off_2 = sizeof(long); sizeof(long)是一个编译时常量,编译器可以验证它是否可以安全地赋值给off_t off_2。

回答 1 投票 0

函数fread()是否可以获取字符串的大小

我需要获取字符串的大小以传递给函数 read() 下面是我尝试使用函数 size 来实现查找字符串大小的代码,但它不起作用 #在...

回答 1 投票 0

联合大小因意外的单词对齐而变化[重复]

我有一个结构体和一个联合定义如下 结构aa{ 浮动 j; 字符aaa; 字符bbb; int bb; }aaaa; sizeof(aaaa) 12 字节 联合乌塔格{ 字符 bb; 浮动 kk; 字符*c; 结构 aa l...

回答 1 投票 0

为什么 C++ 标准没有将 sizeof(bool) 定义为 1?

C++ 标准本身将 char、signed char 和 unsigned char 的大小定义为 1 个字节。我想知道为什么它也没有定义 sizeof(bool) ? C++03 标准 $5.3.3/1 说, 大小(c...

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.