1. 程式人生 > 其它 >【C語言】strcpy函式的模擬實現

【C語言】strcpy函式的模擬實現

技術標籤:c語言

函式介紹

char * strcpy ( char * destination, const char * source );

函式實現

#include<stdio.h>
#include<assert.h>

char* my_strcpy(char* des, const char* sou)
{
	char* tmp = des;
	assert(NULL != des);//斷言,判斷指標的有效性,防止野指標
	assert(NULL != sou);
	while (*des++ = *sou++)
	{
		;
	}
	return
tmp; } int main() { char arr1[] = "##############"; char arr2[] = "hehe"; printf("arr1:%s\n", my_strcpy(arr1,arr2)); return 0; }

在這裡插入圖片描述
幾點說明

  • 返回型別為char * 的原因

直接返回目的地陣列的首元素地址,方便直接使用。

  • const修飾char* sou的原因

防止錯誤寫成把目的地字串內容拷貝到源頭字串去。如果寫錯了,編譯器會報錯。
在這裡插入圖片描述