微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > strlen与sizeof区别

strlen与sizeof区别

时间:10-02 整理:3721RD 点击:
1.
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。
char aa[10];cout<<strlen(aa)<<endl; //结果是不定的
char aa[10]={'\0'}; cout<<strlen(aa)<<endl; //结果为0
char aa[10]="jun"; cout<<strlen(aa)<<endl; //结果为3
char aa[5]="hello";cout<<strlen(aa)<<endl; //结果5
2.
sizeof()返回的是变量声明后所占的内存数,不是实际长度,
sizeof(aa) 返回10
int a[10]; sizeof(a) 返回40 (根据语言int型 c 是两个字节 c++是四个 java 是两个)
3.
sizeof是一个操作符,strlen是函数。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top