strlen sizeof strcat strcpy区别

2018-06-18 04:13:38来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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当前指向的内容。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:kmeans算法并行化的mpi程序

下一篇:关于C语言结构体,指针,声明的详细讲解。——Arvin