strlen sizeof strcat strcpy区别
Posted guang_blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了strlen sizeof strcat strcpy区别相关的知识,希望对你有一定的参考价值。
strlen(p):
- 能计算出p指向字符串的长度(以当前p的位置开始),不包含终止字符‘\0‘;
- p可以声明为char* p或者char p[],这两种形式strlen均能正确计算。
sizeof(p):
- sizeof是一个操作符,非函数,其值在编译期确定,因此当p声明为某一类型指针时,sizeof在编译时并不能确定指向内容的大小,故返回的是指针类型本身的大小;
当p声明为某一类型数组时,sizeof在编译时即可确定指向内容的大小,故返回的是数组所占容量;
strcat(p1,p2)和strcpy(p1,p2)
相同点:
- p1必须为内容可改变的指针,如char p1[]
- 当p1当前指向的字符为终止字符(‘\0‘)时,直接用p2内容连接或覆盖在p1当前位置及其后
不同点:
- 当p1当前指向的字符不是终止字符(‘\0‘)时,strcat会自动将p2的内容连接在终止字符所在位置及其后;strcpy则直接用p2内容覆盖p1当前指向的内容。
以上是关于strlen sizeof strcat strcpy区别的主要内容,如果未能解决你的问题,请参考以下文章
strlen,strcat,strcpy,strcmp的实现
strlen() strcpy() strcat() strcmp()实现
strlen strcat strcpy strcmp 自己实现