C 中的可變長陣列string

2021-07-27 07:02:28 字數 682 閱讀 4985

看乙個題目:

編寫乙個程式,判斷乙個字串是否為「回文」(順讀和倒讀都一樣的字串稱為「回文」)。

#include

#include

using

namespace

std;

int main()

if( s == g )

else

return

0;}

然而這個**並不能滿足要求,我們看到第10行的**,這行**想按位倒序把字串s複製給字串g,然而這個**並不能正常執行。有人可能會奇怪:c++中的string類定義的不是可變長字串嗎?

c++中使用string定義的字串雖然是可變長字串,但是不能採用上邊這種方式改變長度。上邊**中的字串g沒有初始化,g[0]、g[1]這些空間都還沒有被宣告定義出來,所以不能直接訪問和使用。所以修改一下:在輸入字串s之後把s字串直接複製給g,這樣g的長度就被改變了,也就實現了可變長陣列的功能。

修改後的**如下:

#include

#include

using

namespace

std;

int main()

if( s == g )

else

return

0;}

vb 可變長 陣列

引用 關鍵點 dim str as string 定義 redim str n 重設長度 or redim preserve str n 重設長度,並保持原來記錄不變 詳細闡述 redim 語句 在過程級別中使用,用於為動態陣列變數重新分配儲存空間。語法 redim preserve varname...

c99變長陣列 c語言程式設計之可變長陣列

是不是看著標題進來了,認為自己看錯了?因為平常我們c程式設計的時候資料長度都是固定好的,沒有聽說過c還能實現變長陣列?不過你沒看錯,c99中確實是有柔性陣列的概念,也就是可變長陣列,c99中允許結構體中的最後乙個成員是長度未知的陣列,其定義格式如下 typedef struct int a char...

可變長陣列 柔性陣列結構體成員 可變長結構體

可變長陣列是c99相較c89新增的乙個特性。1.可變長陣列無鏈結性,即只在 塊內作用 函式體內或者區域性 塊內 2.可變長陣列不可初始化。3.陣列長度在生存週期不可更改。即n的值不影響str的長度。4.可變長陣列作為函式形參的時候,中使用 其本質是指標。形參中的陣列還可以使用型別限定詞const v...