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