真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言的字符串復制-創(chuàng)新互聯(lián)

提示:僅供參考,如有錯誤,還望指出。

創(chuàng)新互聯(lián)公司是一家專業(yè)從事網(wǎng)站設(shè)計、網(wǎng)站制作的網(wǎng)絡公司。作為專業(yè)網(wǎng)站制作公司,創(chuàng)新互聯(lián)公司依托的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、成都全網(wǎng)營銷及網(wǎng)站設(shè)計開發(fā)服務!

目錄

目錄

一、字符串復制

二、一些優(yōu)化

1.一次簡單優(yōu)化

2.二次優(yōu)化

3.三次優(yōu)化

4.四次優(yōu)化

5.最后的優(yōu)化

總結(jié)


前言

以下是對字符串復制的一些優(yōu)化

一、字符串復制

這是自己能想到的方法

主要思想:通過兩個指針,對二者進行遍歷,若該被復制的字符不為‘\0’來進行一一復制。

可是這樣‘\0’字符就無法復制,而此時被復制字符的地址剛好又是‘\0’,再進行一次復制就好。

//我的字符串復制
void my_strcpy(char* dest,char* rsc)
{
	while (*rsc != '\0')
	{
		*dest = *rsc;
		dest++;
		rsc++;
	}
	*dest = *rsc;
}
二、一些優(yōu)化

注:這些優(yōu)化都是基于前一次的優(yōu)化,也體現(xiàn)出一個循序漸進的過程

1.一次簡單優(yōu)化

這里實現(xiàn)了一小點的優(yōu)化,也就是將三句語句合成一句

void my_strcpy(char* dest, char* rsc)
{
	while (*rsc != '\0')
	{
		*dest++ = *rsc++;
	}
	*dest = *rsc;
}

2.二次優(yōu)化

這里實現(xiàn)了我們既可以賦值字符也能夠復制'\0'

由于當被復制的字符為‘\0’時,也得到了復制,同時還跳出了循環(huán)

void my_strcpy(char* dest, char* rsc)
{
	while (*dest++ = *rsc++)
	{
		;
	}
}

3.三次優(yōu)化

這里優(yōu)化了健壯性,可這里沒有體現(xiàn)出問題在哪。

在二次優(yōu)化中,添加了一個判斷語句,只有二者同時不為空指針時,才會進入遍歷復制的過程。

void my_strcpy(char* dest, char* rsc)
{
	if (dest != NULL && rsc != NULL)
	{
		while (*dest++ = *rsc++)
		{
			;
		}
	}
}

4.四次優(yōu)化

這里用到了斷言函數(shù)assert();同時需要添加該頭文件

使用assert()函數(shù),若不滿足函數(shù)體中條件,就會報錯,并且具體體現(xiàn)在哪一行,更有利于找錯。

#include
my_strcpy(char* dest, char* rsc)
{
	assert(dest != NULL);
	assert(rsc != NULL);
	while (*dest++ = *rsc++)
	{
		;
	}
}

5.最后的優(yōu)化

這個就比較細節(jié),也是為了防止一些錯誤而形成的優(yōu)化。

在被復制字符中加上一個const,為了防止while循環(huán)中的條件,若不注意將二者位置調(diào)換,就會出現(xiàn)報錯的情況。

這里也給大家推薦一個網(wǎng)站cplusplus.com - The C++ Resources Network?

若有不懂的函數(shù)或者函數(shù)需要的頭文件都可以在這里查。? ? ? ? ?這里也到了strcpy函數(shù)中參數(shù)的類型,若以后要寫類似于庫函數(shù)的函數(shù)也可以考慮這里面的參數(shù)類型。

#include
void my_strcpy(char* dest, const char* rsc)
{
	assert(dest != NULL);
	assert(rsc != NULL);
	while (*dest++ = *rsc++)
	{
		;
	}
}

總結(jié)

?在我看來,編程很像數(shù)學,每當你了解到一個題目的多種解法后,有些解法會給人一種十分奇妙的感覺,也有一種勾起好奇心的感覺,就是由于這種好奇心,促使這我們成長。不過有時候的編程也很乏味,但是我們一定要堅持。

學習不易,如果這篇對你有幫助,足矣。

最后附上學習的鏈接(同樣要是有一起學習的伙伴就更好了)

25.VS環(huán)境-C語言實用調(diào)試技巧(2)(C語言程序設(shè)計教程譚浩強 c語言譚浩強視頻教程 c語言零基礎(chǔ)入門教程 學習c語言 c語言視頻教程 c語音 C語言教程_嗶哩嗶哩_bilibili

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站欄目:C語言的字符串復制-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://weahome.cn/article/djgioc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部