*sizeof的作用

sizeof是c的运算符之一,用于获取操作数被分配的内存空间,以字节单位表示.

这里指的操作数,可以是变量,也可以是数据类型,如int,float等.所以就可以通过它来获取本地c库定义的基本类型的范围。

*sizeof的使用

1.对于一般变量,形式2种:sizeof a 或 sizeof(a);

2.对于数据类型,必须使用带括号的方式,如sizeof(int).

*size_t的说明

sizeof返回的必定是无符号整形,在标准c中通过typedef将返回值类型定义为size_t.

若用printf输出size_t类型时,C99中定义格式符%zd;若编译器不支持可以尝试%u或%lu.

*与strlen比较

sizeof,获取操作数占用的内存空间字节数,返回类型size_t;

strlen,获取字符数组实际使用的字节数,不包含数组结尾符'\0',返回类型size_t;

如示:

#include <stdio.h>
#include <string.h>
int main(void)
{   
     int a =1; 
     char b[4] ="aaa";
     printf("%zd %zd %lu\n",sizeof a,sizeof(int),sizeof a);
     printf("%zd %zd\n",sizeof b,strlen(b));
     return 0;
}

结果:

4 4 4
4 3

sizeof运算符和size_t类型比较相关推荐

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

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

  2. sizeof运算符运算结果小汇

    文章目录 sizeof运算符的结果部分地依赖于其作用的类型 sizeof运算符的结果部分地依赖于其作用的类型 对char或者类型为char的表达式执行sizeof运算,结果得1 对引用类型执行size ...

  3. 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 ...

  4. C语言中size_t类型详细说明【转载】

    在c语言的很多库函数中,函数原型中,参数类型都是size_t.但是在我们编写程序时size_t类型却很少有所使用.那么这个类型到底有什么作用呢 使用size_t可能会提高代码的可移植性.有效性或者可读 ...

  5. C语言sizeof运算符的使用

    一.基本使用 首先,先了解一下sizeof的定义:sizeof用于返回运算对象的内存大小,单位是字节. 这个运算对象可以为变量名和类型.但是注意的是,在对类型进行运算时要使用圆括号将其括起来. 如下图 ...

  6. C++ sizeof 运算符的使用

    sizeof  是C++ 中 唯一的一个带字母的运算符, sizeof 的功能: 返回指定的数据类型或者表达式值的数据类型在内存中所占的字节数. sizeof  运算符的使用 1 sizeof(类型) ...

  7. c++中利用sizeof运算符计算结构体大小问题探讨

    c++中提供的sizeof运算符可以方便得计算出内置类型的字节数大小,比如sizeof(int),sizeof(char),sizeof(double)的返回值分别为4,1,8,这是很容易理解的.但是 ...

  8. C语言sizeof运算符

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

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

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

最新文章

  1. PyTorch | (2)PyTorch 入门-张量
  2. 大模型时代,我们真的不再需要分词了吗?
  3. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | e^jωn 的傅里叶变换 )
  4. http路径转file会变成反斜杠_PHP session反序列化漏洞
  5. Electron中与Vue集成流程
  6. python web开发项目 源码_真零基础Python开发web
  7. 字符串相加—leetcode415
  8. mysql用户数据导入_mysql创建数据库、用户及导入数据_mysql数据库教程
  9. 【51NOD-0】1011 最大公约数GCD
  10. 编译原理 语法分析树和二义性文法
  11. Android ScrollView
  12. CoreData数据库版本迁移
  13. 用python爬取百科糗事的小项目
  14. 【Python函数综合实例】
  15. Android手机清除锁屏密码
  16. Matlab学习手记——非线性拟合方法:压缩因子粒子群算法
  17. 量化选股 聚宽学习获取财务数据
  18. 【海康视频SDK】linux服务器端截图与下载视频
  19. java如何利用JNative调用dll文件
  20. 项目经验 需求评审与技术评审

热门文章

  1. pickle.dump()把大量数据写入文件发生MemoryError解决方法
  2. 【Spring】HttpMessageConverter的作用及替换
  3. 通过js动态设置select中option选中
  4. 0706 - 个人品牌建立
  5. 隐藏或者修改nginx信息
  6. C# 设置DateTime类型的变量值等于Null
  7. Tomcat修改源码,重新编译
  8. HDU 2588 GCD amp;amp; GCD问题总结
  9. Android开发之TextView的滚动显示
  10. 无法删除文件提示找不到指定文件导致文件无法删除的解决方法