转自:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html
概念
sizeof是C语言的一种单目操作符,如C语言的其他操作符++、–等。它并不是函数。
sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。
使用方法
用于数据类型
sizeof使用形式: sizeof(type)
数据类型必须用括号括住: sizeof(int)
用于变量
sizeof使用形式: sizeof(var_name)
或 sizeof var_name
说明
sizeof操作符不能用于函数类型,不完全类型(不完全类型指具有未知存储大小的数据类型)或位字段。
返回结果
sizeof操作符的结果类型是size_t
它在头文件中定义为: typedef unsigned int size_t
主要用途
- 主要用途是与存储分配和I/O系统那样的例程进行通信
1 | void *malloc(size_t size); |
- 另一个的主要用途是计算数组中元素的个数。
1 | void *memset(void *s, int c, sizeof(s)); |