一、基本使用

首先,先了解一下sizeof的定义:sizeof用于返回运算对象的内存大小,单位是字节。

这个运算对象可以为变量名类型。但是注意的是,在对类型进行运算时要使用圆括号将其括起来。

如下图使用即可:

#include<stdio.h>
int main()
{//类型的使用printf("int的大小为 %d字节\n",sizeof(int));printf("char的大小为 %d字节\n",sizeof(char));printf("float的大小为 %d字节\n",sizeof(float));//变量的使用int a,b;a=0;b=sizeof a;printf("变量a的内存大小是:%d字节\n",b);return 0;
}

实际上,问变量的大小就是该变量类型的大小。

二、拓展

1.  size_t类型

由于,C标准只规定了sizeof返回的值是无符号整数,并未规定返回值的类型,所以该值的类型可以是"unsigned int、unsigned long、unsigned long  long "。相对应地,在使用printf()函数时,转换说明对应为"%u、%lu、%llu".

但这个是根据系统而定的。如果你的系统使用unsigned int,而你的程序需要在另一个系统使用,不幸的是,另一个系统不使用unsigned int,而使用其他的类型。

所以,为了有更好的移植性,C标准规定size_t为sizeof返回值的类型,即当你使用sizeof时,该运算符返回的值是size_t类型的。当然,这里也解释一下,size_t实际上是使用了为现有类型创建别名。如下第2点说明。

2. 类型别名

C中有一种typedef用法,例如:

#include<stdio.h>
int main()
{typedef int cbc;cbc a;a=0;printf("a的值为:%d",a);
}

这里使用typedef,便把cbc(这里随便给了名)替代了int,所以可以cbc来声明变量。

回到正题,size_t便是unsigned int或unsigned long等等类型的别名,当使用到size_t,系统便会根据自身使用不同的类型(即unsigned int/unsigned long等等)。

3.size_t的转换说明

C给出“zd"为size_t类型的转换说明,但是得注意这个转换说明有些系统不适用。此时可以使用"%u""%lu"等。如下图所示,

#include<stdio.h>
int main()
{printf("int类型的大小为%zd\n",sizeof(int));printf("int类型的大小为%u\n",sizeof(int));
}

4.size_t具体使用

如下代码所示:

#include<stdio.h>
int main()
{int a;size_t daxiao;daxiao=sizeof a;printf("变量a的大小为%lu\n",daxiao);
}

因为size_t为sizeof返回值的类型,所以不妨用它来声明一个变量来存储返回值。不过有点多余,直接使用sizeof即可。

C语言sizeof运算符的使用相关推荐

  1. sizeof c语言是什么表达式,C 语言 sizeof() 运算符

    C 语言 sizeof() 运算符 sizeof() 运算符在C语言中使用时,它决定表达式的大小或在char大小的存储单元数量中指定的数据类型.sizeof() 运算符包含一个操作数,该操作数可以是表 ...

  2. C语言sizeof运算符

    C语言并没有规定各种类 占用存储空间的大小,而是根据操作系统的位数来确定 同一种数据类型,在不同的编译系统中所占空间不一定相同 比如,在16位的编译系统中,int类型占用2个字节,而在32位的编译系统 ...

  3. c语言 sizeof size_t,C/C++中的sizeof运算符和size_t类型的详解

    sizeof的作用 sizeof是c的运算符之一,用于获取操作数被分配的内存空间,以字节单位表示. 这里指的操作数,可以是变量,也可以是数据类型,如int,float等.所以就可以通过它来获取本地c库 ...

  4. sizeof是c语言的一种运算符,C语言位运算和sizeof运算符详解

    位运算和sizeof运算符 C语言中提供了一些运算符可以直接操作整数的位,称为位运算,因此位运算中的操作数都必须是整型的.位运算的效率是比较高的,而且位运算运用好的话会达到意想不到的效果.位运算主要有 ...

  5. C语言指针、数组与sizeof运算符

    指针.数组与sizeof运算符 指针.数组与sizeof运算符 指针.数组与sizeof运算符 Sizeof是C语言的一个运算符,sizeof的作用是用来返回()里面的变量或者数据类型占用的内存字节数 ...

  6. C语言的sizeof运算符计算结构体大小

    C语言的sizeof运算符运算规则 sizeof运算符 **sizeof 是一个运算符,不是函数(方法).** 例子: 当想打印一个变量的存储区域大小时,可以直接写 int a = 5; printf ...

  7. C 语言编程 — 运算符

    目录 文章目录 目录 前文列表 运算符 算数运算符 自增.自减运算符 比较运算符 逻辑运算符 位运算符 赋值运算符 逗号运算符 sizeof 运算符 杂项运算符 运算符的优先级 前文列表 <程序 ...

  8. C++primer 第 4 章 表达式 4.7条件运算符 4.8位运算符 4.9 sizeof运算符 4.10逗号运算符 4.11类型转换 4 . 1 2 运算符优先级表

    4.7条件运算符 条件运算符(?:)允许我们把简单的if else逻辑嵌入到单个表达式当中,条件运算符按照如下形式使用: cond ? expr1 : expr2;其中cond是判断条件的表达式,而e ...

  9. C语言 sizeof 函数 - C语言零基础入门教程

    目录 一.sizeof 函数简介 二.sizeof 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.sizeof 函数简介 ...

最新文章

  1. WinCE6.0 修改开机Logo方法集锦(二)
  2. 8月第3周回顾:四巨头发三大新闻 一报告引多家争议
  3. DEMO: 一种单目视觉里程计的深度增强方法
  4. NTP时间服务器安装
  5. 路由协议redistribute重新分配“总结笔记”
  6. leetcode20. 有效的括号
  7. Leetcode 129. 根到叶子结点数字之和
  8. HTC 一个基站老无法定位
  9. 【ecshop二次开发】ecshop截取中文字符串的方法
  10. 关于传奇客户端及补丁文件相关合集
  11. 企业电子邮箱怎么申请免费注册账号?
  12. 关于bit-banding的解释和相关作用(转载)
  13. js版的倒计时(月-日-时-分-秒-毫秒)
  14. [生而为人-思考] Knowledge Cooking -5th 分享会记录
  15. lv官网编码查询_老太太拿LV买菜装大葱!结果闺女被抓了......
  16. 【Demo】idea搭建SpringBoot和AJAX前后端数据交互
  17. 如何批量处理/修改文件的后缀名(使用批处理.bat进行)
  18. SQL server.数据库增删改查
  19. 微型计算机最大的电路板是,【判断题】主板是微型计算机系统中最大的一块电路板,它需要插到插槽中才能工作。...
  20. 火山视窗整数数组类增删查改操作

热门文章

  1. momentjs常用封装
  2. 高点击率淘宝宝贝主图怎么做
  3. sincerit 数学(跟Big Number思路一样)
  4. 中国梦之声第二季播出时间
  5. Java 多态实际操练--使用多态的特征创建不同宠物的玩耍方法
  6. Root Guard - CCIE之Switching篇
  7. AL 人工智能学习书籍 视频 课程
  8. 计算机类专业中对数学物理要求低的,哪些专业对数学和物理要求比较高
  9. 7000字用户画像技术及方法论
  10. 项目该如何着手_着手服务组件架构