數(shù)組indexof方法 怎么給字符串?dāng)?shù)組賦值?
怎么給字符串?dāng)?shù)組賦值?字符數(shù)組有兩種賦值,單字符賦值和字符串賦值。對(duì)于單字符賦值,數(shù)組元素可由數(shù)組下標(biāo)或指針引用,例如:char a[10]char ch=“a”For(I=0I<10i)a[I]
怎么給字符串?dāng)?shù)組賦值?
字符數(shù)組有兩種賦值,單字符賦值和字符串賦值。
對(duì)于單字符賦值,數(shù)組元素可由數(shù)組下標(biāo)或指針引用,例如:
char a[10]char ch=“a”For(I=0I<10i)a[I]=ch I//數(shù)組元素可由數(shù)組下標(biāo)引用,以完成char*pfor(P=a P<10p)*P=ch//為相應(yīng)元素賦值通過(guò)指針對(duì)數(shù)組進(jìn)行
字符串賦值??梢栽谧址惺褂米址僮骱瘮?shù)。H頭文件賦值,如:char a[10]strcpy(a,“abcdefgh”)sprintf(a,%s”,“abcdefgh”)
注意:定義數(shù)組時(shí),可以同時(shí)初始化,但定義完成后,不能以初始化的形式賦值,例如:
char a[10]=“abcdefgh”//this可以是a=“abcdefgh”//這是錯(cuò)誤的!A是數(shù)組的名稱,它是一個(gè)靜態(tài)數(shù)據(jù):數(shù)組的第一個(gè)地址值可以看作是一個(gè)常量,不能再更改。
怎么把一個(gè)字符串賦值給字符數(shù)組?
Chars[20]s=“helo”此錯(cuò)誤的原因是無(wú)法使用賦值語(yǔ)句將字符串常量直接賦給字符數(shù)組。Chars[20]charss[]=“Hello”s=SS錯(cuò)誤,原因是:字符數(shù)組不能用賦值語(yǔ)句直接賦值給字符數(shù)組,即字符串副本(在C語(yǔ)言中,但在C的string類中,上述賦值是正確的)必須用strcpy()函數(shù)實(shí)現(xiàn)。正確的理由是,在聲明數(shù)組變量時(shí),要為它們打開(kāi)空間并進(jìn)行初始化,這符合C語(yǔ)言的語(yǔ)法。擴(kuò)展信息:理解C語(yǔ)言1中的字符串賦值。指針賦值。上述示例可以正常執(zhí)行并且容易理解。但是下面的方法有點(diǎn)難理解。通過(guò)程序的操作,我們可以知道:char*P=“Hello”這個(gè)字符串賦值方法完全沒(méi)有問(wèn)題。要理解這種賦值方法,我們必須首先理解雙引號(hào)在這個(gè)語(yǔ)句中的作用。雙引號(hào)主要做三項(xiàng)工作,分別是:(1)應(yīng)用空格(在常量區(qū)域),存儲(chǔ)字符串。(2) 在字符串末尾添加“0”。(3) 回信地址。這里返回的地址被分配給char*類型的指針變量p。2、 字符串直接通過(guò)字符數(shù)組賦值。程序如下:3。一些問(wèn)題需要注意。將字符串賦給數(shù)組名(即數(shù)組第一個(gè)元素的第一個(gè)地址)是不正確的。