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