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