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