zoukankan      html  css  js  c++  java
  • c++之sizeof的用法

    在此温习一下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占八个字节。
  • 相关阅读:
    elastic-job-console
    CentOS7_安装mysql5.7
    CentOS7_开放指定端口
    CentOS7_防火墙
    Docker-CentOS7-安装
    MySQL_写锁_lock tables tableName write
    cesium 动态流动纹理
    cesium加载二维贴地的地名(本地地名数据)
    python3.6安装open AI gym环境(windows)
    python PIL打开较大的tif影像时出错-OSError: cannot identify image file Image.open
  • 原文地址:https://www.cnblogs.com/shaonianpi/p/9690333.html
Copyright © 2011-2022 走看看