问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问C语言中,sizeof怎么用?

发布网友 发布时间:2022-04-28 12:04

我来回答

3个回答

热心网友 时间:2023-10-08 22:02

sizeof是C语言运算符之一,注意是运算符,不是函数,也不是宏定义。

功能是求占用内存大小,结果为无符号整型(unsigned int).
有两种用法:
1 用于类型。
求某个类型占用内存大小,方式为

sizeof(type_name)
如sizeof(int), sizeof(struct test)等。
2 用于变量。
用于求某个变量占用内存大小,方式为
sizeof(var)或者 sizeof var。
注意,用于变量时可以不带括号,不过一般推荐带上括号。

热心网友 时间:2023-10-08 22:02

sizeof(),括号里填类型名,返回该类型所占字节数,例如n=sizeof(int)将int占字节数2赋给n,即n=2

热心网友 时间:2023-10-08 22:03

2. 语法:
sizeof有三种语法形式,如下:
1) sizeof( object ); // sizeof( 对象 );
2) sizeof( type_name ); // sizeof( 类型 );
3) sizeof object; // sizeof 对象;
所以,
int i;
sizeof( i ); // ok
sizeof i; // ok
sizeof( int ); // ok
sizeof int; // error
既然写法3可以用写法1代替,为求形式统一以及减少我们大脑的负担,第3种写法,忘
掉它吧!
实际上,sizeof计算对象的大小也是转换成对对象类型的计算,也就是说,同种类型的
不同对象其sizeof值都是一致的。这里,对象可以进一步延伸至表达式,即sizeof可以
对一个表达式求值,编译器根据表达式的最终结果类型来确定大小,一般不会对表达式
进行计算。如:
sizeof( 2 );// 2的类型为int,所以等价于 sizeof( int );
sizeof( 2 + 3.14 ); // 3.14的类型为double,2也会被提升成double类型,所以等价
于 sizeof( double );
sizeof也可以对一个函数调用求值,其结果是函数返回类型的大小,函数并不会被调用
,我们来看一个完整的例子:
char foo()
{
printf("foo() has been called.\n");
return 'a';
}
int main()
{
size_t sz = sizeof( foo() ); // foo() 的返回值类型为char,所以sz = sizeof(
char ),foo()并不会被调用
printf("sizeof( foo() ) = %d\n", sz);
}
C99标准规定,函数、不能确定类型的表达式以及位域(bit-field)成员不能被计算s
izeof值,即下面这些写法都是错误的:
sizeof( foo );// error
void foo2() { }
sizeof( foo2() );// error
struct S
{
unsigned int f1 : 1;
unsigned int f2 : 5;
unsigned int f3 : 12;
};
sizeof( S.f1 );// error

热心网友 时间:2023-10-08 22:02

sizeof是C语言运算符之一,注意是运算符,不是函数,也不是宏定义。

功能是求占用内存大小,结果为无符号整型(unsigned int).
有两种用法:
1 用于类型。
求某个类型占用内存大小,方式为

sizeof(type_name)
如sizeof(int), sizeof(struct test)等。
2 用于变量。
用于求某个变量占用内存大小,方式为
sizeof(var)或者 sizeof var。
注意,用于变量时可以不带括号,不过一般推荐带上括号。

热心网友 时间:2023-10-08 22:02

sizeof(),括号里填类型名,返回该类型所占字节数,例如n=sizeof(int)将int占字节数2赋给n,即n=2

热心网友 时间:2023-10-08 22:03

2. 语法:
sizeof有三种语法形式,如下:
1) sizeof( object ); // sizeof( 对象 );
2) sizeof( type_name ); // sizeof( 类型 );
3) sizeof object; // sizeof 对象;
所以,
int i;
sizeof( i ); // ok
sizeof i; // ok
sizeof( int ); // ok
sizeof int; // error
既然写法3可以用写法1代替,为求形式统一以及减少我们大脑的负担,第3种写法,忘
掉它吧!
实际上,sizeof计算对象的大小也是转换成对对象类型的计算,也就是说,同种类型的
不同对象其sizeof值都是一致的。这里,对象可以进一步延伸至表达式,即sizeof可以
对一个表达式求值,编译器根据表达式的最终结果类型来确定大小,一般不会对表达式
进行计算。如:
sizeof( 2 );// 2的类型为int,所以等价于 sizeof( int );
sizeof( 2 + 3.14 ); // 3.14的类型为double,2也会被提升成double类型,所以等价
于 sizeof( double );
sizeof也可以对一个函数调用求值,其结果是函数返回类型的大小,函数并不会被调用
,我们来看一个完整的例子:
char foo()
{
printf("foo() has been called.\n");
return 'a';
}
int main()
{
size_t sz = sizeof( foo() ); // foo() 的返回值类型为char,所以sz = sizeof(
char ),foo()并不会被调用
printf("sizeof( foo() ) = %d\n", sz);
}
C99标准规定,函数、不能确定类型的表达式以及位域(bit-field)成员不能被计算s
izeof值,即下面这些写法都是错误的:
sizeof( foo );// error
void foo2() { }
sizeof( foo2() );// error
struct S
{
unsigned int f1 : 1;
unsigned int f2 : 5;
unsigned int f3 : 12;
};
sizeof( S.f1 );// error
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 身上皮肤颜色不均匀 C语言中“SIZEOF(INT)“是什么意思?有什么作用? C语言sizeof函数如何使用? C语言中sizeof是什么意思 c语言程序里sizeof是什么意思 sizeof在c语言中是什么意思 vivoy53sOTG在哪里? vivo y系列手机想使用otg怎么解决 请问一下你们这个vivoy53的OTG这个功能怎么使用 vivoy53sutg打开后怎么打开u盘 生牛油果能吃吗 牛油果辅食生的能吃吗 牛油果能生吃吗 牛油果怎么催熟 唯品花逾期四天上了征信多久才能恢复 唯品金融逾期四天还款后显示1-2日内恢复使用 一位小数表示什么,如0.5表示什么;两位小数表示什么,如0.05表示什么;三... 12.963保留两位小数是什么? 0.54545保留两位小数是什么? 把6.050改写成两位小数是什么? 73.476保留两位小数是什么? 全身肤色不均匀是什么原因 c语言中SIZEOF啥意义 C语言中,sizeof是一个? C语言程序中Sizeof这个语法怎么用? C语言中,sizeof运算符有什么作用? 身体肤色非常不均匀是怎么回事?我得病了吗?? C语言里sizeof(char)是什么意思 为什么我身体上的肤色不均匀,有的地方比较白,有的比较黑 c语言中sizeof的用法? 脸上,身上肤色不均匀是什么原因 C语言中sizeof的用法 肤色为什么会不匀,怎样消除呢? C语言编程sizeof的用法请教,谢谢 肤色不均匀,怎么办? c语言有关sizeof的问题 肤色不均怎么回事 c语言里面的sizeof是干什么的 身上皮肤颜色不均匀,尤其是背部很黄!! 请问怎样用ipad截取在线视频片段做成GIF图片呀,求大佬解答 《设计中的设计》epub下载在线阅读,求百度网盘云资源