c語(yǔ)言數(shù)組怎么用 c語(yǔ)言兩個(gè)數(shù)組拷貝問(wèn)題?
c語(yǔ)言兩個(gè)數(shù)組拷貝問(wèn)題?我可以用num2[]=num1[]將第一個(gè)數(shù)組中的數(shù)字轉(zhuǎn)移到第二個(gè)數(shù)組中嗎。此操作只將num1[]的第一個(gè)數(shù)賦給num2的第一個(gè)數(shù)[第一個(gè)地址,然后直接num1=num2]第一
c語(yǔ)言兩個(gè)數(shù)組拷貝問(wèn)題?
我可以用
num2[]=num1[]將第一個(gè)數(shù)組中的數(shù)字轉(zhuǎn)移到第二個(gè)數(shù)組中嗎。此操作只將num1[]的第一個(gè)數(shù)賦給num2的第一個(gè)數(shù)[
第一個(gè)地址,然后直接num1=num2
]第一個(gè)地址可以被num1調(diào)用[0
char[]數(shù)組必須留一個(gè)地方放“0”,您使用的第一個(gè)編譯器不能改成這個(gè),但是輸出是意外的:
將數(shù)組大小更改為7,輸出是正確的:因此char[]數(shù)組大小應(yīng)至少比字符數(shù)多1個(gè)字符,用于在末尾自動(dòng)存儲(chǔ)“0”。
C語(yǔ)言如何復(fù)制數(shù)組?
例如,如果源字符串是s,要將其復(fù)制到另一個(gè)字符串t,它必須滿足t可以容納s的所有元素,否則將是危險(xiǎn)的。例如,代碼如下://#include“StdAfx。H“//如果是VC 6.0,用這行。#包括“stdio?!癷ntmain(void){char*s=”敏捷的棕色狐貍跳過(guò)一只懶狗。1234567890“char*PS=s,t[60],*Pt=t while(*Pt=*PS)//這會(huì)將所有s復(fù)制到t printf(%s”,t)//鍵入它。。。返回0}
謝謝。這個(gè)代碼是HelloWorld級(jí)別的。int main()的使用是值得稱贊的。
如果你想提高,我會(huì)給你一些建議。
1. 如果使用函數(shù)實(shí)現(xiàn),如swapInt(&A,&B),如果使用宏實(shí)現(xiàn),如swapInt(a,b),是否可以封裝方法。雖然使用了四個(gè)變量,但實(shí)際上C和d都有含義,例如store_ua=a store_uu。B=B代碼的可讀性將提高。事實(shí)上,除了I、J和K被建議用作循環(huán)變量外,不建議使用單字母變量,更不建議使用所有26個(gè)字母。
3. 如果課題對(duì)學(xué)習(xí)感興趣,寫(xiě)C會(huì)更有趣,而且可以用更通用的版本來(lái)寫(xiě)。例如:
write with macro:need-STD=c11
或copy construction version writed with template:@夏智幻想移動(dòng)構(gòu)造version writed with template(事實(shí)上,使用這個(gè)版本幾乎就足夠了,如果STL有其他部分專門(mén)化處理的話):
STL也有一個(gè)數(shù)組版本,如果我的級(jí)別是,我不會(huì)復(fù)制它這還不夠。libc實(shí)現(xiàn)不保留不支持移動(dòng)構(gòu)造的版本。
4. 如果你用C,你可以直接用它
這是最簡(jiǎn)單的。