c語言數(shù)組初始化賦值 如何對字符型數(shù)組賦值(C語言)?
如何對字符型數(shù)組賦值(C語言)?初始化和分配是兩種完全不同的操作。初始化的意義是在創(chuàng)建變量時給它一個初始值。賦值的意義是刪除對象的當前值并用新值替換它?!拔覑勰恪笔且粋€字符串文字。在賦值語句中,它將自
如何對字符型數(shù)組賦值(C語言)?
初始化和分配是兩種完全不同的操作。初始化的意義是在創(chuàng)建變量時給它一個初始值。賦值的意義是刪除對象的當前值并用新值替換它。
“我愛你”是一個字符串文字。在賦值語句中,它將自動轉(zhuǎn)換為char*type,而C是char[10]類型。這兩種類型是不同的,編譯器不支持為帶有指針的數(shù)組賦值。
數(shù)組和指針決不是等價的。在這個問題中,C的類型是char[10],而不是char*。雖然很多時候數(shù)組名會自動退化為指針:
,但在以下情況下數(shù)組名不會退化:
C語言中怎樣用for循環(huán)給字符數(shù)組賦值?
方法1:
char a[100
]for(scanf(%C“,&A[i])!=EOF)//for循環(huán)讀取每個字符,包括空格字符和換行符,直到文件結(jié)尾。所以整個輸入被讀入一個字符串。
方法2:
char a[100][100]int i
for(get(a[i])//for循環(huán)讀取每一行字符串,這樣每一行輸入都由一個字符串存儲。
C語言中二維字符數(shù)組應該怎樣賦值?
二維數(shù)組分配的一般形式是:數(shù)據(jù)類型arrayname[length1][length2]。結(jié)果二維字符數(shù)組可以這樣賦值,結(jié)果[0][0]=seq1[0]結(jié)果[1][0]=seq2[0]。Datatype arrayname[length1][length2],其中Datatype是數(shù)據(jù)類型,arrayname是數(shù)組名稱,length1是第一維度下標的長度,length2是第二維度下標的長度。例如:inta[3][4]定義了一個3行4列的數(shù)組,總共有3×4=12個元素。數(shù)組名稱是a,即:二維數(shù)組中的a[0][0]、a[0][1]、a[0][2]、a[0][3]a[1][0]、a[1][2]、a[1][3]a[2][0]、a[2][1]、a[2][3],要定位元素,必須給出一維和二維下標,就像確定平面上的點一樣,必須知道X和Y坐標。例如,[3][4]表示數(shù)組的第三行和第四列的元素。
c語言:一個字符數(shù)組給另一個字符數(shù)組賦值?
如果您不想要原始內(nèi)容,scanf(%s”,a)如果您想要將以下輸入放在原始內(nèi)容之后,即ABC之后,則需要中間數(shù)組B[]來臨時存儲輸入內(nèi)容。首先將新輸入放入數(shù)組B:scnaf(%s”,B),然后將其連接到原始內(nèi)容的后面:strcat(a,B)不要忘記包含
注意初始化和賦值是不同的。{“a”、“B”、“C”}不是表達式,也沒有類型。它們只能用于初始化數(shù)組或結(jié)構(gòu)。數(shù)組可以隱式轉(zhuǎn)換為指向其第一個元素的指針的正確值,該值可以初始化或復制到指針對象。另外,C字符串是指以零值字符結(jié)束的連續(xù)字符對象序列,不是字符指針,而是可以通過字符指針處理字符串。C語言可以寫char*P=(char[]){“a”,“B”,“C”}。也可以在作業(yè)中使用。右邊的東西是復合文字量,左邊的值。生存期是當前塊(函數(shù)內(nèi)部)或整個程序執(zhí)行周期(函數(shù)外部)。此聲明的功能是創(chuàng)建一個未命名數(shù)組,然后通過其隱式轉(zhuǎn)換的指針值初始化指針對象P。與標題上的文字相比,這個聲明少了一個標識符。