C指针复制字符串从一个数组到另一个数组

#include <stdio.h>

void  copyString (char  *to, char  *from)
{
     while ( *from ) // from指针遇到空指针的时候结束循环(字符串的最后一个字符为\0,也就是空指针,空指针和0等价)
          *to++ = *from++; // 将from指针指向的值赋值给to指针指向的值,然后两个指针分别递增1

     *to = '\0'; // 给to指针指向的字符串的最后一位赋值为\0结束符
}



int main (void)
{
     void  copyString (char  *to, char  *from);
     char  string1[] = "A string to be copied.";
     char  string2[50];

     copyString (string2, string1);
     printf ("%s\n", string2);

     copyString (string2, "So is this."); // 传递静态字符串作为实参传递给函数copyString的时候,函数会自动生成一个指向这个字符串的指针,所以传递的是指针变量的值(内存地址)
     printf ("%s\n", string2);

     return 0;
}

  

posted @ 2018-01-24 22:30  ranwuer  阅读(5289)  评论(0编辑  收藏  举报