C编程中的sizeof()运算符
时间:2020-02-23 14:32:06 来源:igfitidea点击:
像许多其他编程语言一样,C也带有一些预定义的函数。
C中的sizeof()运算符也是预定义的。
但是,即使看起来像它也不是一个函数,而是一个一元运算符。
让我们仔细看看运算符及其定义。
C语言中sizeof()运算符的定义
从理论上讲,sizeof()
是一元运算符,用于获取以字节为单位的大小以存储指定的数据类型。
它还可用于确定存储变量或者表达式结果所需的字节。
例
以下代码说明了如何在C中实现sizeof()运算符,
#include<stdio.h> struct jd{ int x; double y; int z; }s1; int main() { int a=5,b=5; printf("%d\n", sizeof(int)); printf("%d\n", sizeof(char)); printf("%d\n", sizeof(double)); printf("%d\n", sizeof(long)); printf("%d\n", sizeof(a)); printf("%d\n", sizeof(a+b)); printf("%d", sizeof(s1)); return 0; }
输出:
4 1 8 4 4 4 16
其中可以观察到" sizeof()"运算符如何返回int,char,double和long数据类型的字节大小。
同样,它还为我们提供了变量" a"所需的大小,甚至给我们表达式" a + b"的结果数据类型。
对于类型结构,运算符返回每个成员数据类型的大小之和。
在数据结构中的应用
此外," sizeof()"运算符可在不同数据结构的基本构造中找到其应用。
像链表,树,图等。
以下代码动态分配一个与数据类型struct s1相同的内存大小。
struct s1 *ptr; ptr=(struct s1*)malloc(sizeof(struct s1));
因此,以这种方式,在不同数据结构的情况下,将创建离散节点。