传智播客视频学习 ---->>>> 字符串copy函数实现(C语言)

 

字符串copy函数实现:

  在C语言中使用指针实现

  要先为参数分配内存

 

代码:

#ifndef _CODE_STRING_COPY_H_
#define _CODE_STRING_COPY_H_

#include <stdio.h>

// 这个函数的意义:在主调函数中分配内存,供被调函数使用
void strCopyGood(char *from, char *to){
    // 在函数体中,定义临时变量,防止直接操作形参
    char *tempFrom    = from;
    char *tempTo = to;
    if (from == NULL || to == NULL){    // 防止在主调函数中没有分配内存
        return;
    }
    while (*tempTo++ = *tempFrom++);    // copy

    // 定义临时变量的作用
    printf("strCopyGood from = %s \n", from);
}

int main() {

    char *buf1 = "abcd";    // 要copy的数据,指针类型
    char buf2[100];            // 接受copy的数据,数组(指针)

    printf("main from = %s \n", buf2);    // 只分配了内存,却没有给其赋值
    strCopyGood(buf1, buf2);            // 调用这个函数要先个参数分配内存
    printf("main from = %s \n", buf2);    // 将buf1的内容copy到buf2中了

    return 0;
}

#endif _CODE_STRING_COPY_H_

 

结果:

 

 

posted @ 2015-11-22 20:03  silent-bobo  阅读(314)  评论(0编辑  收藏  举报