java兩個數(shù)組相加 如何將一個數(shù)組的值賦值給另一個數(shù)組?
如何將一個數(shù)組的值賦值給另一個數(shù)組?有兩種方法。為方便起見,請定義兩個整數(shù)數(shù)組a和B,并將a中的值賦給B。Int a[4]={1,2,3,4},B[4]1。通過數(shù)組遍歷,逐個賦值。為(i=0,iB[i
如何將一個數(shù)組的值賦值給另一個數(shù)組?
有兩種方法。
為方便起見,請定義兩個整數(shù)數(shù)組a和B,并將a中的值賦給B。
Int a[4]={1,2,3,4},B[4
]1。通過數(shù)組遍歷,逐個賦值。
為(i=0,i
B[i]=a[i
)定義循環(huán)變量int i。程序的功能是遍歷數(shù)組A,并將值逐個賦給數(shù)組B的相應(yīng)元素。
2. 使用內(nèi)存復制函數(shù)memcpy,分配整個值。
void*memcpy(void*dst,void*src,sizeut size)
此函數(shù)用于將src上的大小字節(jié)數(shù)據(jù)分配給dst。
調(diào)用此函數(shù)時,需要參考頭文件CString,即
##include
賦值數(shù)組的代碼是
memcpy(B,a,sizeof(a))]~。如果必須直接使用,只需用指針交換即可。例如:將LG數(shù)組復制到CHS數(shù)組:
long LG[20];
byte CHS[200];
CHS=(char*)&lg[0];
這是直接的。記住,一定要用指針。
其次,可以使用memcpy函數(shù)來解決問題。
函數(shù)原型為void*memcpy(void*目的地,void*源,無符號n)。該函數(shù)將源內(nèi)存地址開頭的幾個字節(jié)復制到目標內(nèi)存地址,即從源內(nèi)存地址復制n個字節(jié)到目標內(nèi)存地址。
希望對您有所幫助。
為什么c 中數(shù)組不能直接拷貝給另一數(shù)組?
1、 系統(tǒng).arraycopy(SRC,1,DeST,0,6)SRC是原始數(shù)組,1是副本的起始位置,DeST是目標數(shù)組,0是目標數(shù)組的起始位置,6是副本的長度,2,DeST=(int()src.clone命令()//使用clone創(chuàng)建dest作為目標數(shù)組,SRC作為原始數(shù)組,克隆以復制所有陣列。3= 數(shù)組.copyOf(src,2)//數(shù)組.copyOfsrc是原始數(shù)組,2是復制的位數(shù),4,dest=Arrays.copyOfRange(src,1,3)//Arrays.copyOfRangesrc文件是原始數(shù)組,1是起始下標,3是結(jié)束下標
例如,如果源字符串是s,要將其復制到另一個字符串t,它必須滿足t能容納S的所有元素,否則是危險的。例如,代碼如下://#include“StdAfx。H“//如果是VC 6.0,用這行。#包括“stdio?!癷ntmain(void){char*s=”敏捷的棕色狐貍跳過一只懶狗。1234567890“char*PS=s,t[60],*Pt=t while(*Pt=*PS)//這會將所有s復制到t printf(%s”,t)//鍵入它以查看。。。Return 0}
A,B:整數(shù)數(shù)組
begin
setlength(A,2)
setlength(B,2)
A[0]:=1
A[1]:=2
B:=copy(A)//復制整個數(shù)組
B:=copy(A,0,2)//選擇性復制
B[0]:=2
showmessage FMT(“A0:D,B0:D”,[A[0],B[0
//A0:1,B0:2
end