C++ 学习(第一天)sizeof与strlen 的区别

来源:互联网 发布:锁骨链一套淘宝 编辑:程序博客网 时间:2024/05/16 15:40

#include <iostream>


struct A

{

char ch;

int  n;

float f;

};

class A1

{

    char ch;

    int a;

    int b;

};

class B

{

    

};

class C

{

    static int sVale;

};


void sizeofclassTest()

{

    int n = sizeof(A);

    int m = sizeof(B);

    int k = sizeof(C);

    std::cout<<"sizeof(A)="<<n<<std::endl;

    std::cout<<"sizeof(B)="<<m<<std::endl;

    std::cout<<"sizeof(C)="<<k<<std::endl;

}

//测试各种数据类型的长度


void sizeofTest()

{

    int  n ; char ch;float f ;double d;

    int  nm = sizeof(n);int nch = sizeof(ch);int nf = sizeof(f);int nd = sizeof(d);

    std::cout<<"sizeof(nm)="<<nm<<std::endl;

    std::cout<<"sizeof(nm)="<<nch<<std::endl;

    std::cout<<"sizeof(nm)="<<nf<<std::endl;

    std::cout<<"sizeof(nm)="<<nd<<std::endl;


}


void arrayTest()

{

    char ss[100] ="0123456789";

    int  nn[100] = {0};

    int nss = sizeof(ss);

    

    int nnn = sizeof(nn);

    

    std::cout <<"nss="<<nss<<std::endl;

    std::cout<<"nnn="<<nnn<<std::endl;

}

int main()

{

// int n = sizeof(A);

// std::cout<<"sizeof(A) = "<<n<<std::endl;

//  sizeofTest();

//   arrayTest();

    sizeofclassTest();

}




所以sizeof与strlen的区别在于:

(1)sizeof是算符,strlen是函数。

(2)sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以"\0"结尾的。

(3)sizeof还可以用函数做参数。





0 0
原创粉丝点击