在此温习一下c语言中sizeof的用法以及c++11.0的标准中,关于初始化的新方式,先上代码:
1 # include "iostream" 2 # include "string" 3 using namespace std; 4 int main() 5 { 6 int num[]{ 1, 2, 3, 4, 5 };//c++11新定义的标准是不加“=”也可完成初始化 7 char str[]{ "everything is ok!" }; 8 float number[]{3.14, 2.93, 5.00}; 9 double number2[]{4, 66, 3.9866, 5.3455555}; 10 int count; 11 count = sizeof num;//注意,这里取得的并不是num得元素个数,而是在内存的空间大小,这里是20byte,也就是,4byte×5 12 cout<<"num[]'s size is:"<<count<<endl; 13 count = sizeof str; 14 cout << "string's size is:" << count << endl; 15 count = sizeof number; 16 cout << "float num 's size is:" << count << endl; 17 count = sizeof number2; 18 cout << "float num 's size is:" << count << endl; 19 20 21 system("pause"); 22 }
上图代码中,说明了两个知识点:
1 c++11.0的标准中,允许了{},以及可以省略“=”这种类似于赋值的方式(实际上,赋值中应该尽量使用{}这种方式,以后再说为什么)
2 sizeof 并不是函数,只是一个运算符而已,注意,得到的并不是元素的个数,而是数据的所占内存空间的大小,即字节数。
下面给出结果:
程序运行结果显示:int型一个数字占4个字节,char型一个占一个字节(注意结尾还有一个 ),float也占四个字节,double占八个字节。