sizeof在c语言中是什么意思(C语言的 sizeof 关键字,它竟然只是一个运算符,不是函数)

运算符有优先级,比如在加减乘除中,乘除优先,然后,加减。在写代码的时候,我们需要时刻提醒自己,我们写的代码不是给机器看的,而是给人看的。我们需要和同事沟通,一起工作。所以对于一些想要先运行的代码,我们会用“括号”来包含,括号里的代码会先运行。

例如c = a1 | | a2+b;我们想先做a1 || a2运算,然后把a1 || a2表达式的结果加到B上,最后把运算结果赋给C对象。但在C语言中,由于运算符优先级的规则,算术运算符的优先级高于关系运算符,所以先运行a2+b运算,然后将a2+b表达式的值与a1进行逻辑或运算。以下测试是示例:

测试结果如下:

可以看出,先执行a2+b运算,这个表达式的值是16。然后,16的值与a1进行逻辑或运算,因此结果为1。

我们想先执行a1 || a2运算,所以必须将它包含在括号中,以确保括号中的代码优先,所以修改如下:

int c =(a1 | | a2)+b;

完整的测试代码如下:

测试结果如下:

注意:我们不提倡在代码中使用C语言的默认运行优先级。如果我们想让某一行代码先运行,我们必须用括号把它括起来,让括号里的代码先运行。

6 sizeof运算符

sizeof运算符是在C语言中定义的,它是一个单目运算符,用法如下:

Sizeof(T) - T可以是数据类型或变量。

size30

此时,获取T类型(或变量)占用的内存容量,单位为字节。例如,long类型在空之间占用4个字节,因此sizeof(long)得到long类型在空之间占用的大小,并得到4个这样的值。程序测试示例如下:

程序运行结果如下:

如您所见,sizeof运算符返回long类型的内存容量大小。Sizeof运算符还可以获得一个变量所占用的内存容量。程序测试示例如下:

程序运行结果如下:

可以看到,定义了double类型的变量D,然后通过sizeof()运算符可以得到该变量占用的内存容量。

总结

在本章中,我们学习了按位与、或、异或和条件运算符、赋值运算符等运算。

这些知识点纷繁复杂,所以作者建议读者多做,多思考。对于有疑问的知识,尽量通过测试实例来验证。自己敲代码,思考问题,验证问题。有问题可以联系作者,一起探讨C语言的学习。

读者要认真分析和掌握每一个知识点,然后总结出自己对该知识点的理解。你总结出来的知识,能深入理解,就是你掌握的知识。

您可以还会对下面的文章感兴趣

最新评论

  1. 三叉戟
    三叉戟
    发布于:2022-04-27 02:42:59 回复TA
    得到该变量占用的内存容量。总结在本章中,我们学习了按位与、或、异或和条件运算符、赋值运算符等运算。这些知识点纷繁复杂,所以作者建议读者多做,多思考。对于有疑问的知识,尽量通过测试实例来验证。自己敲代码,思考问题,验证问题。有问题可以联系作者,一起探讨C语言
  1. 萌总大人
    萌总大人
    发布于:2022-04-27 07:00:35 回复TA
    问题可以联系作者,一起探讨C语言的学习。读者要认真分析和掌握每一个知识点,然后总结出自己对该知识点的理解。你总结出来的知识,能深入理解,就是你掌握的知识。
  1. 熊文恒全
    熊文恒全
    发布于:2022-04-27 01:57:48 回复TA
    真的呐

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

使用微信扫描二维码后

点击右上角发送给好友