资料合集下载链接:
https://pan.quark.cn/s/472bbdfcd014
在C语言的学习和实践中,sizeof
是一个我们几乎每天都会遇到的工具。它看似简单,仿佛只是一个用来测量变量或类型大小的“尺子”。然而,在这把“尺子”背后,隐藏着一些关键的语言特性和常见的陷阱,尤其是在与无符号整数和数组结合时。今天,让我们根据课堂的精华,深入探索sizeof
的真实面目。
一、 sizeof
:运算符还是函数?
很多初学者可能会被sizeof(int)
这种带括号的用法所迷惑,误以为它是一个函数。但课堂笔记明确指出:
sizeof
不是一个函数,而是一个运算符。
它和 +
, -
, *
, /
一样,是C语言内置的运算符,在编译阶段就由编译器计算出结果,而不是在程序运行时调用。
那么,为什么它时而带括号,时而不带呢?
- • 计算类型大小时,必须加括号:例如
sizeof(int)
、sizeof(float)
。 - • 计算变量大小时,括号是可选的:例如
sizeof my_array