strlen 和sizeof

strlen 和sizeof

 

strlen(const char *)一个函数,返回字符串的实际长度 (截止到’\0’, 但不包括’\0’)

sizeof()是一个操作符,不是函数,返回的是变量声明后所占的内存字节数

 

char str[20] = "0123456789";
int a = strlen(str); //a = 10
int b = sizeof(str); //b=20

 

char *str="abcde";

int a = sizeof(str));  //返回的指针str的长度,a=4

int b = strlen(str));  //b=5

int  c = sizeof (*str);   //返回第一个字符占用字节 c=1

 

sizeof(char)=1

sizeof(int)=4

sizeof(float) = 4

sizeof(double)=8

 

struct struct_a{

 char c;

int b;

};

Struct_a struct_n;

Int a = Sizeof(struct_n);  //注意字节对齐, 返回8

 

struct struct_aa {

                char char_a;

                int int_a;

                char char_b[10];

                };

                struct_aa aa;

                int  a = sizeof (aa);   //a=4+4+12=20

 

函数short f ();

int a = sizeof(f) ;   //a =2

 

char str[]={‘a’, ‘b’, ‘c’};

int a = sizeof(str);   //a=3

int  b=strlen(str); //b 结果不一定

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值