strlen和sizeof的区别

yellowone

关注

阅读 120

2022-06-09

 

 

一:当没有指定字符数组的大小时

如:char buf [  ] = {"12345\n"};

strlen(buf) 等于  6

sizeof(buf) 等于  6

二:当指定字符数组的大小时

如:char buf [BUFSIZE] = {"12345\n"};   //BUFSIZE = 20;

strlen(buf) 等于  6

sizeof(buf) 等于  20

但是对于第一种情况:

请用sizeof,因为buf已经初始化好了,长度是固定的,在预处理就已经把相应的值算好了

而strlen它是函数调用

 

 

精彩评论(0)

0 0 举报