c語(yǔ)言字符串存入數(shù)組 請(qǐng)問(wèn)在c語(yǔ)言中如何通過(guò)輸入字符串為字符指針數(shù)組賦值?
請(qǐng)問(wèn)在c語(yǔ)言中如何通過(guò)輸入字符串為字符指針數(shù)組賦值?注意初始化和分配是不同的。{“a”、“B”、“C”}不是表達(dá)式,也沒(méi)有類型。它們只能用于初始化數(shù)組或結(jié)構(gòu)。數(shù)組可以隱式轉(zhuǎn)換為指向其第一個(gè)元素的指針的
請(qǐng)問(wèn)在c語(yǔ)言中如何通過(guò)輸入字符串為字符指針數(shù)組賦值?
注意初始化和分配是不同的。{“a”、“B”、“C”}不是表達(dá)式,也沒(méi)有類型。它們只能用于初始化數(shù)組或結(jié)構(gòu)。數(shù)組可以隱式轉(zhuǎn)換為指向其第一個(gè)元素的指針的正確值,該值可以初始化或復(fù)制到指針對(duì)象。另外,C字符串是指以零值字符結(jié)束的連續(xù)字符對(duì)象序列,不是字符指針,而是可以通過(guò)字符指針處理字符串。C語(yǔ)言可以寫char*P=(char[]){“a”,“B”,“C”}。也可以在作業(yè)中使用。右邊的東西是復(fù)合文字量,左邊的值。生存期是當(dāng)前塊(函數(shù)內(nèi)部)或整個(gè)程序執(zhí)行周期(函數(shù)外部)。此聲明的功能是創(chuàng)建一個(gè)未命名數(shù)組,然后通過(guò)其隱式轉(zhuǎn)換的指針值初始化指針對(duì)象P。與標(biāo)題上的文字相比,這個(gè)聲明少了一個(gè)標(biāo)識(shí)符。
如何對(duì)字符型數(shù)組賦值(C語(yǔ)言)?
初始化和分配是兩種完全不同的操作。初始化的意義是在創(chuàng)建變量時(shí)給它一個(gè)初始值。賦值的意義是刪除對(duì)象的當(dāng)前值并用新值替換它。
“我愛(ài)你”是一個(gè)字符串文字。在賦值語(yǔ)句中,它將自動(dòng)轉(zhuǎn)換為char*type,而C是char[10]類型。這兩種類型是不同的,編譯器不支持為帶有指針的數(shù)組賦值。
數(shù)組和指針決不是等價(jià)的。在這個(gè)問(wèn)題中,C的類型是char[10],而不是char*。雖然很多時(shí)候數(shù)組名會(huì)自動(dòng)退化為指針:
在以下情況下數(shù)組名不會(huì)退化: