sizeof函数,sizeof(int)
本篇文章给大家谈谈sizeof函数,以及sizeof(int)对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
sizeof函数怎么用
1.sizeof函数定义:
sizeof是何方神圣sizeof乃C/C++中的一个操作符(operator)是也,简单的说其作用就是返回一个对象或者类型所占的内存字节数。
2.sizeof函数
语法:
sizeof有三种语法形式,如下:
1) sizeof( object);// sizeof(对象);
2) sizeof(type_name);// sizeof(类型);
3) sizeof object;// sizeof对象;
所以,
inti;
sizeof( i);// ok
sizeof i;// ok
sizeof( int);// ok
sizeof
int;// error
实际上,sizeof计算对象的大小也是转换成对对象类型的计算,也就是说,同种类型的不同对象其sizeof值都是一致的。这里,对象可以进一步延伸至表达式,即sizeof可以对一个表达式求值,编译器根据表达式的最终结果类型来确定大小,一般不会对表达式进行计算。如:
sizeof(2);// 2的类型为int,所以等价于 sizeof( int);sizeof( 2+ 3.14);//3.14的类型为double,2也会被提升成double类型,所以等价于 sizeof( double);
sizeof也可以对一个函数调用求值,其结果是函数返回类型的大小,函数并不会被调用。
C语言sizeof函数如何使用
C语言中的sizeof是一个很有意思的关键字,经常有人用不对,搞不清不是什么。我以前也有用错的时候,现在写一写,也算是提醒一下自己吧。反正现在来看,还在搞sizeof是什么意思,怎么用正确,还是有点搞笑,都经常用的东西,没有理解透彻,就差的太远了。
一 sizeof是什么
sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等,sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。这个操作数不好理解对吧?后面慢慢看就明白了。sizeof的返回值是size_t,在64位机器下,被定义为long unsigned int。
二 sizeof如何使用
1、用于数据类型
使用形式: sizeof(type)。其中type如int、double等。例如sizeof(int)、sizeof(char*)、sizeof(double)。这个时候sizeof后面的类型必须用括号()包起来,不包起来是错误的,通过不了编译。其中sizeof(void*)在64位下是8,而sizeof(void)是1。其实,在C语言中sizeof(函数),
如sizeof(main),结果也是1。但是在C++中,sizeof(void)和sizeof(函数)都是非法的,通过不了编译,后面C++就不说了,现在讲C嘛。其实sizeof(函数),sizeof(void)虽然是1,但是是不正确的使用方式。
2、用于变量
使用形式: sizeof(var)或sizeof var。当操作基本数据类型的时候,在我64位电脑的结果如下
作用是:计算常量、变量、数据类型在内存中占用的字节数
三、用sizeof计算常量在内存中占用的字节数
sizeof(1)计算常量 1在内存中占用的字节数 4
1默认的事一个10进制的整数(int) 4
sizeof(2.3f);计算 float类型的常量在内存中占用的字节数 4
sizeof(2.3);计算 double类型的常量在内存中占用的字节数 8
sizeof('a');计算'a'字符常量在内存中占用的字节数 1 4?
C++ 关于size()和sizeof()
sizeof()(a)返回的是对象占用内存的字节数,而a.size()是string类定义的一个返回字符串大小的函数,两个是完全不一样的概念。
明确两者的概念和作用:
1、size()函数:
c++中,在获取字符串长度时,size()函数与length()函数作用相同。除此之外,size()函数还可以获取vector类型的长度。
例如:vector< int> num(15,2),则:num.size()= 15。
2、sizeof():
sizeof()运算符用来求对象所占内存空间的大小。
假设以下对象,分别使用sizeof函数:
执行输出结果:
扩展资料
sizeof(...)是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。
size是由string vector和bitset定义的函数,分别用于返回字符个数,元素个数和二进制位的数。string和vector的size成员函数用以返回size_type类型的值。bitset返回size_t的值。
用法,例如string
string st("fddddddddgs");
cout<<"the size of"<<st<<"is"<<st.size();
打印st中的字符个数
size其实就是计算不同类型容器中的元素个数的。
参考资料:百度百科 sizeof()
关于本次sizeof函数和sizeof(int)的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。