C语言之指针运算

利用指针运算实现库函数strcpy:


#include <stdio.h>

char *mystrcpy(char *str, const char *ptr)          
//传的参数是数组 str 的地址,直接传 str 不能改变 main 函数里的值  
//当涉及到修改实参内存值的时候,需要传地址
{
    char * tmp = str;
/*
    while (*ptr != '\0')                            //这种方式比较直观易懂
    {
        *str = *ptr;
        str++;
        ptr++;
    }
*/
    
    while((*str++ = *ptr++) != '\0');                //这种写法比较简洁

    return tmp;
}

int main()
{
    char str[20] = "helloworld";
    char ptr[20] = "world";

    mystrcpy(str, ptr);

    printf("%s\n", str);

    return 0;
}


 

猜你喜欢

转载自blog.csdn.net/qq_42200183/article/details/81264167