容易搞乱的sizeof和strlen

来源:互联网 发布:自动对焦算法 编辑:程序博客网 时间:2024/05/16 11:54

 

 

char str[]="123"

 

char *p=str

 

char *p2="123"

 

sizeof(str)结果是4//算上'/0'

sizeof(p) 结果是4,因为指针都是占4个字节

 

strlen(str)结果是3

strlen(p2)和strlen(str)一样是3,

 

其实就是strlen算字符数个数,sizeof算字节数+1。另外strlen只能运行字符串,别想到int去了

 

特别的 char *p[2]这时候的sizeof(p)是8         //strlen(p)编译不过的

 

//其实还有中文时候的问题,NND,真麻烦。因为中文占2字节,英文只占一字节

原创粉丝点击