• sizeof与strlen


    • sizeof()计算一个类型的空间大小
    • strlen只用于计算字符串长度,寻找''的位置,但是不包括''位置
    • 例一:
      int b=strlen("b");
      int a=sizeof("b");

      输出b=0;a=3;  a为计算的该字符串所占的空间大小;

    • 例二:
      char a[10];
      char *b=new char[10];
      int x=sizeof(a);   //x=10;
      int y=sizeof(b);   //y=4;
      int z=sizeof(*b); //z=1;

      x计算的是数组所占的空间大小;
      y计算的是字符指针b所占的空间大小,32位机中所有的指针变量所占的空间大小为4个字节;
      z计算的是指针b所指向的第一个字符所占的空间大小,char型空间为1个字节;

    • 例三:
      char a[10];
      char *b=new char[10];
      int x=strlen(a); //随机数
      int y=strlen(b);  //随机数
      strcpy(b,"hello");
      int z=strlen(b); //z=5;
    • sizeof在计算结构体变量的空间时,需要遵循两个规则:
      1)结构体每个成员的首地址是成员大小的整数倍,有需要会在成员之间填充字节;
      2)结构体的总空间大小为最宽基本成员类型的整数倍。在寻找最宽成员时,需要将复合类型“打散”来看,比如结构体内包含另一个结构体,则把另一个结构体拆开来看。
      struct S1{
        int a;
        char b;    
      };//4+1+3=8
      struct s2{
        char c;
        S1 s;
        char d;      
      };//1+3+4+1+1+2=12,12是int型空间的整数倍
  • 相关阅读:
    一、CentOS 7安装部署GitLab服务器

    四、指定Nginx启动用户
    三、Nginx支持php
    二、Nginx多站点配置(参考宝塔的)分析
    一、Nginx多站点配置
    一、PHP和Apache实现多用户自助建站
    Flask+uwsgi+Nginx+Ubuntu部署
    flask 上传头像
    flask 分页
  • 原文地址:https://www.cnblogs.com/beaglebone/p/5726588.html
Copyright © 2020-2023  润新知