C 求解字串陣列和字串變數什麼區別,舉個例子區分下

2021-03-27 18:20:37 字數 3154 閱讀 9814

1樓:匿名使用者

字串陣列是這樣定義的:

char *stringarray[3];

而字串變數是這樣定義的:

char s[10];

它們的區別就是字串陣列可以儲存的是多個字串,典型的例子就是main函式的第二個引數,main函式的第二個引數就是一個字串陣列,它用來讓系統傳遞命令列引數,命令列程式的每一個引數之間都是用空格分割的,每個引數都可以看作是一個字串,命令列程式都是有多個引數,所以要用字串陣列來儲存。而字串變數就很簡單了,字串變數只能儲存一個字串,是一個字元陣列,注意是字元陣列。如果從把它們倆都從字元陣列的角度上來看(一個字串就是一個字元陣列),字串陣列是二維的,而字串變數是一維的。

2樓:渺渺兮於懷

char* arr[20] = 「dasdasddasddasddasdd」

arr 是字串陣列 且表示字串首地址arr[20]表示 陣列 最有一位字元

且 arr[index] 相當於 1 2 3 4222 這些數字 是常量

所有 你對 arr[index] 賦值是錯誤的arr 也是字串變數

你不能對arr[index] 賦值

但你可以對 arr 賦值

arr =「qweqrtyuuyioo。。。」 讓這個變數 指向另外一個 字串

c++求解字串陣列和字串變數什麼區別,舉個例子區分下,,

3樓:

using namespace std;

int main()

;char *pc="12345678";

cout << c << endl;

cout << pc << endl;

return 0;

}區別只是宣告的形式不同。用起來都一樣。

請問,定義一個字元陣列,和一個字串有區別嗎,能舉個例子嗎

4樓:匿名使用者

#include

int main ()

;char str2 = "hello";

printf("str1 length: %d, str2 length: %d", sizeof(str1), sizeof(str2));

return 0;}字元

duzhi串會自

dao動增加

專結束屬符'\0'

5樓:love寒憶

如果在c++裡的話。有一下幾個分別,用字元陣列可以找出其中的各個元素。用下標就可以了,字串是以\0結尾的。其他的麼。倒也沒什麼了,一般是用陣列吧。

6樓:零點駐足

uchar we=;

uchar we="0,1,2,3,4,5,6";

在c++中字元陣列和字串有什麼區別

7樓:匿名使用者

唯一的區別就是字串末尾有一個'\0'

面字元陣列是沒有的.

char ch1="hello";//該串有6個字元,5個可見字元,因為是串,所以末尾自動加上'\0';共六個

char ch2=;//這樣寫就成了陣列.是確確實實的5個字元

8樓:匿名使用者

字串都是以'\0'結尾,字元陣列只是單個字元的集合,只要在字元陣列某處加上'\0',也可轉換為字串

c++中字元陣列和字串有什麼區別,使用的時候,還有儲存什麼的。

9樓:

字元陣列 char a[100]; 可以隨便你對元素賦值常量字串 char* a = 'abcde'; 不能隨便賦值動態分配字串

char *a = malloc(100);

strncpy(a, 'abcd', 0);

拷貝了4個字元

10樓:

唯一的區別就是字串末尾有一個'\0'作為結束標誌;字元陣列是沒有的.

簡單例子:

char ch1="hello";//該串有6個字元,5個可見字元,因為是串,所以末尾自動加上'\0';共六個

char ch2=;//這樣寫就成了陣列.是確確實實的5個字元

c++中字元陣列和字串類的區別

11樓:嵇傲袁珏

唯一的區別就是字串末尾有一個'\0'

面字元陣列是沒有的.

char

ch1="hello";//該串有6個字元,5個可見字元,因為是串,所以末尾自動加上'\0';共六個

char

ch2=;//這樣寫就成了陣列.是確確實實的5個字元

c++中字元和字串的區別是什麼?

12樓:匿名使用者

字元是單個的,字串一般有多個,但也可以是單個,甚至可以是空的char c;

c='a';字元a,注意使用單引號

string c="abcd";

string c1="a";單個字元,但是雙引號char *s="abcd"

13樓:匿名使用者

字元只佔用一個位元組的儲存空間,而字串至少要佔用2個位元組;表現形式上,字元是心''包圍起來的,而字串是心""包圍起來的.字串在儲存上是以空字元'\0'(asiic值為0)結尾的.

14樓:匿名使用者

c++中一個字元只能儲存一個ascll字元,而一個字串則可以儲存多個ascll字元。比如char a="abc"錯誤的,char a="abc"則是正確的。

15樓:na年花開

c++沒有字串的定義

一般用字元陣列來定義

比如說char ch="abcd";

char ch='a';

自己看吧單雙引號的

16樓:酆令慧芒石

唯一的區別就是字串末尾有一個'\0'

面字元陣列是沒有的.

char

ch1="hello";//該串有6個字元,5個可見字元,因為是串,所以末尾自動加上'\0';共六個

char

ch2=;//這樣寫就成了陣列.是確確實實的5個字元

C 求解字串陣列和字串變數什麼區別,舉個例子區分下

using namespace std int main char pc 12345678 cout c endl cout pc endl return 0 區別只是宣告的形式不同。用起來都一樣。c 中。字串和陣列有什麼區別呢?char 在系統上 用一個位元組表示 int在系統上有的是 4個位元組...

c為字串陣列動態賦值的問題,C 為字串陣列動態賦值的問題

改用list吧.方法一是沒有new 沒有分配空間 方法二是在new的時候沒有指定大小,預設是0個元素,所以對其任意一個元素賦值都是越界.在c 中,陣列一般用來存放大小確定的資料.如果陣列大小未知,建議使用list lista new list a.add we messagebox.show a 0...

C語言字串陣列問題

c語言中,賦值 與 賦初值 又叫初始化 是不一樣的。在定義變數的同時賦值,叫賦初值,而定義後賦值就是普通的賦值了。你說的 不能用賦值語句將一字串常量或字元陣列直接賦值給一個字元陣列 這句話是說普通賦值的情況,也就是,不能定義一個字元陣列以後,再給他直接賦值。而 char s 12345 這個語句,是...