首页 > 其他 > 详细

各变量所占字节问题,strlen(),sizeof()相关问题

时间:2020-03-10 23:48:55      阅读:74      评论:0      收藏:0      [点我收藏+]

各变量所占字节数与操作系统位数有关:

  类型          16位                                         32位                         64位

  char       1                                             1                           1

  short int     2                                           2                            2

  int          2                                           4                              4

  long int            4                                        4                           8

  long long int      8                                           8                              8

  char*                2(2^16即2字节)             4(2^32即4字节)            8(2^64即8字节)(由寻址范围确定)

  float                 4                                      4                               4

  double               8                                      8                             8

strlen 和sizeof的区别:

1.sizeof是运算符,strlen是函数。

2.sizeof(data type)data type可以是数组,指针,类型,对象,函数等;strlen只能用char*做参数,且必须是以"\0"结尾。

3.求字符数组长度时,strlen不加最后的结束标志位,sizeof会加上"\0"。

 

关于sizeof

sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数

typedef unsigned int size_t;

 sizeof的计算发生在编译时刻,所以它可以被当作常量表达式使用

几个需要注意的:1.指针变量的sizeof值与指针所指的对象没有任何关系,正是由于所有的指针变量所占内存大小相等

                           2.数组的sizeof,数组的sizeof值等于数组所占用的内存字节数

 

sizeof (data type)

各变量所占字节问题,strlen(),sizeof()相关问题

原文:https://www.cnblogs.com/liu6666/p/12459407.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!