1樓:匿名使用者
改用list吧.
方法一是沒有new(沒有分配空間)
方法二是在new的時候沒有指定大小,預設是0個元素,所以對其任意一個元素賦值都是越界.
在c#中,陣列一般用來存放大小確定的資料.
如果陣列大小未知,建議使用list<>.
lista=new list();
a.add("we");
messagebox.show(a[0]);
同時,你可以用a.toarray()來隨時轉換成string.
也可以listb=new list(a.toarray());將陣列資料初始化進list<>
2樓:輕輕去去去
首先將動態賦的值放入int b 中,即,int b=???
然後,string a = new string[b] ;
就可以了。
3樓:匿名使用者
方法2:
string a = new string ;
a[0] = "we";
你可以在方法2中宣告瞭a陣列後,a.lengh看看a有幾個元素。
4樓:匿名使用者
嗯,物件是需要new的,如果不new,就不知道陣列的長度。
如果本身是不定長的陣列,可以用list等資料結構來儲存。
5樓:
其它的都有人說了
b = a.split('|');
個是對b重新賦值了,也就等於重新new了一個陣列
c語言中將字串賦值給字元陣列的問題
6樓:大野瘦子
char s[20];s="helo";這樣錯誤的原因就是:不能用賦值語句將一個字串常量直接給一個字元陣列賦值。
char s[20];
char ss="hello";
s=ss;錯誤原因是:不能用賦值語句將一個字元陣列直接給一個字元陣列賦值
,即字串的複製(c語言中,但是在c++的string 類,上面的賦值是正確的)必須用strcpy()函式實現。
而char a[ ]=」toyou「;正確的原因是:因為在宣告陣列變數的時候就是,為其開闢空間,併為其初始化,這樣才是符合c語言語法的。
c語言中字串賦值的理解
一、指標式賦值
上面的示例是顯然可以正常執行的,也是很容易理解的。但是下面這種方式就令人有點難以理解了。
通過程式的運**況,我們可以知道:char *p = "hello";這種字串的賦值方式是完全沒有問題的。要理解這種賦值方式,我們首先得理解雙引號(特別注意:
這個是雙引號,不要賦值的時候給弄了個單引號)在這個語句中做了什麼工作。雙引號主要做了3個工作,分別是:
(1)申請了空間(在常量區),存放了字串。
(2)在字串尾加上了「\0」。
(3)返回地址。
這裡所返回的地址就賦值給了char *型別的指標變數p。
二、通過字元陣列直接把字串賦值。程式如下:
三、需要注意的一些問題
直接把字串賦值給陣列名(也就是陣列首元素的首地址)是不行的。
7樓:
char a ="toyou";
這才是對的,要用雙引號。
這種方式叫初始化,是可以的,"toyou"這個字串放在資料區裡,在編譯階段就確定了。
a作為陣列名,它是一個常指標,不能改變所指向的地址,只能是&a[0]所以你在非宣告的地方用a="***",就相當於改變了常量的值,是不允許的。
8樓:
#include
int main()
9樓:豬頭或火寶寶
你好!!!
舉例如下:
char s[20];s="helo";這樣是錯誤的,原因就是不能用賦值語句將一個字串常量直接給一個字元陣列賦值。
char s[20];
char ss="hello";
s=ss;這也是錯誤的,原因是不能用賦值語句將一個字元陣列直接給一個字元陣列賦值
即字串的複製(c語言中,但是在c++的string 類,上面的賦值是正確的)必須用strcpy()函式實現。
而char a[ ]=」toyou「;為上面是正確呢???那是因為我們在宣告陣列變數的時候就是,為其開闢空間,併為其初始化,這樣才是符合c語言語法的。而上面的都是不符合語法的。
請問c#如何向字串陣列賦值?
10樓:匿名使用者
// 使用 arraylist
using system.collections; //要加上此語句private void form1_load(object sender, eventargs e)
private void showstr(arraylist str)
] = ",i,str[i]);}}
11樓:匿名使用者
string str=null;
這裡宣告瞭一個為空的字串陣列,但是這個資料沒有例項化。
所以在給指定索引的陣列中某個字串賦值,將會報空值錯誤(「未將引用到物件的例項」)
只要將str陣列例項化一下就可以了。
如string str=new string;
12樓:
string str = new string[2];...
C語言字串陣列問題
c語言中,賦值 與 賦初值 又叫初始化 是不一樣的。在定義變數的同時賦值,叫賦初值,而定義後賦值就是普通的賦值了。你說的 不能用賦值語句將一字串常量或字元陣列直接賦值給一個字元陣列 這句話是說普通賦值的情況,也就是,不能定義一個字元陣列以後,再給他直接賦值。而 char s 12345 這個語句,是...
C語言中用動態陣列儲存長度未知的字串,應該怎麼使用malloc和realloc函式
char buffer buffer char malloc initialize size buffer char realloc buffer,initialize size add size 一般做法是設定一個初始值,再設定一個追加值。比如 p初始分配10個字元空間。當空間不夠用的時候,每次增...
C 字串陣列如何作為函式引數
sizeof string 由於它們都是和系統相關的 我的作業系統是32位的 所以在不同的系統下取值可能不同,這務必引起注意,儘量不要在這方面給自己程式的移植造成麻煩。一般情況下,在32位系統中,sizeof string 為16位元組。sizeof都和記憶體中的儲存方式有關。你這裡沒有理清楚陣列函...