京东云服务器推荐配置、多种配置选择,满足不同业务需求!

热门推荐

⭐ 稳定入门选择

配置:2核2G/5M

适用场景:个人站点 / 轻量应用

特点:性价比高,稳定可靠

¥19/月
立即购买
流量友好

☁️ 轻量云主机

配置:2核4G 5M

适用场景:小型业务 / 博客 / 测试环境

特点:流量友好,性能均衡

¥149/年
立即购买
高性能

💻 云服务主机

配置:4核16G 8M

适用场景:中小型服务 / 多并发场景

特点:充足内存与带宽,性能强劲

¥750/年
立即购买
新人专享

🎁 新人福利

新人访问 → 点击 → 最新活动

可获取 3000元 礼券

立即领取
服务端 / C 语言教程 / C 语言指针
C 语言 sizeof() 运算符
C 标准库 <assert.h> C 动态分配内存

C 语言 sizeof() 运算符

sizeof() 运算符在C语言中使用时,它决定表达式的大小或在char大小的存储单元数量中指定的数据类型。sizeof() 运算符包含一个操作数,该操作数可以是表达式,也可以是数据类型转换,其中转换是用括号括起来的数据类型。数据类型不仅可以是基本数据类型(如整数或浮动数据类型),还可以是指针数据类型和复合数据类型(如联合和结构)。

sizeof()运算符的作用

程序要知道原始数据类型的存储大小。尽管数据类型的存储大小是恒定的,但在不同的平台上实现时它会有所不同。例如,我们可以使用sizeof()运算符动态分配数组空间:

int *ptr=malloc(10*sizeof(int));

在上面的示例中,我们使用了sizeof()运算符,该运算符应用于int类型的转换。我们使用malloc()函数分配内存,并返回指向该已分配内存的指针。内存空间等于int数据类型占用的字节数并乘以10。

注意:输出在不同的机器上可能会有所不同,例如在32位操作系统上将显示不同的输出,在64位操作系统上将显示相同数据类型的不同输出。

sizeof()运算符的行为根据操作数的类型而有所不同。

  • 操作数可以是一种数据类型

  • 操作数可以是一个表达式

当操作数是数据类型时。

#include <stdio.h>
int main()
{
    int x=89;    //变量声明
    printf("变量x的大小是 %d", sizeof(x));  //显示x变量的大小
    printf("\ninteger数据类型的大小为 %d",sizeof(int)); //显示整数数据类型的大小。
    printf("\n字符数据类型的大小为 %d",sizeof(char)); //显示字符数据类型的大小

    printf("\n浮动数据类型的大小为 %d",sizeof(float)); //显示浮动数据类型的大小。
return 0;
}

在上面的代码中,我们借助sizeof()运算符来打印不同数据类型(如int,char,float 大小

输出结果

变量x的大小是 4
integer数据类型的大小为 4
字符数据类型的大小为 1
浮动数据类型的大小为 4

当操作数是表达式时

#include <stdio.h>
int main()
{
  double i=78.0; //变量初始化。
  float j=6.78; //变量初始化。
  printf("(i+j) 表达式的大小为 : %d",sizeof(i+j)); //显示表达式的大小(i + j)。
  return 0;
}

在上面的代码中,我们分别创建了两个类型为double和float的变量'i'和'j',然后使用sizeof(i + j)运算符打印表达式的大小

输出结果

(i+j) 表达式的大小为 : 8
C 标准库 <assert.h> C 动态分配内存