1樓:
using namespace std;
int main()
;char *pc="12345678";
cout << c << endl;
cout << pc << endl;
return 0;
}區別只是宣告的形式不同。用起來都一樣。
c++中。 字串和陣列有什麼區別呢?
2樓:閩文瑤雲藹
char
在系統上
用一個位元組表示
int在系統上有的是
4個位元組表示
。char
可以裝到int裡面
int裝不到char
裡面char就一位元組不夠。。。
當然還有很多其他區別
不過我不知道。。。
你找本c語言的基礎語法書看看
比如潭浩強的
c語言程式設計
。。。和c++
不衝突。。。。
3樓:乾經義渾海
對於字串,系統會在字串的末尾自動新增一個'\0'作為結束標誌,因此在程式中往往依靠檢測'\0'的位置來判定字串是否結束;
對於字元陣列,舉個例子,char
c[5]=;則系統會對陣列的最後的兩個元素自動填補空字元'\0'。
另外,如果給cout提供一個字元的地址,則它將從該字元開始列印,直到到'\0'為止,比如:char
a[5]=;
cout<
而你如果給出的是一個整形陣列的地址,輸出的則是該陣列的地址,如:int a[5]=;cout<
最後,string是一個類來的,是c++為處理字串提供的一個類,比用字元陣列來處理要安全和方便 4樓:閭丘芷荷乙曾 有很大的區別,一個是字串陣列,一個是整形陣列,字串陣列可以進行解引用 c++中字元陣列和字串有什麼區別,使用的時候,還有儲存什麼的。 5樓: 字元陣列 char a[100]; 可以隨便你對元素賦值常量字串 char* a = 'abcde'; 不能隨便賦值動態分配字串 char *a = malloc(100); strncpy(a, 'abcd', 0); 拷貝了4個字元 6樓: 唯一的區別就是字串末尾有一個'\0'作為結束標誌;字元陣列是沒有的. 簡單例子: char ch1="hello";//該串有6個字元,5個可見字元,因為是串,所以末尾自動加上'\0';共六個 char ch2=;//這樣寫就成了陣列.是確確實實的5個字元 c++中字元陣列和字串類的區別 7樓:嵇傲袁珏 唯一的區別就是字串末尾有一個'\0' 面字元陣列是沒有的. char ch1="hello";//該串有6個字元,5個可見字元,因為是串,所以末尾自動加上'\0';共六個 char ch2=;//這樣寫就成了陣列.是確確實實的5個字元 在c++中字元陣列和字串有什麼區別 8樓:匿名使用者 唯一的區別就是字串末尾有一個'\0' 面字元陣列是沒有的. char ch1="hello";//該串有6個字元,5個可見字元,因為是串,所以末尾自動加上'\0';共六個 char ch2=;//這樣寫就成了陣列.是確確實實的5個字元 9樓:匿名使用者 字串都是以'\0'結尾,字元陣列只是單個字元的集合,只要在字元陣列某處加上'\0',也可轉換為字串 c++裡面vector有啥作用.和陣列區別在哪 10樓:匿名使用者 這個問題好,我來回答吧,當是複習下。vector是c++標準庫中定義的型別,是容器的一種。標準庫中容器有很多種,vector只是最基本的一種,vector型別和陣列型別的基本功能都是一樣的,就是儲存同類元素,但是他與陣列最大的區別就是可以實現動態儲存,舉個例子來說: #include #include using namespace std; int main }return 0; }樓主可以實驗一下,執行後隨便輸入些字元按回車,可以發現使用容器的妙處。其實要講清楚容器一兩句可不行,這段**只是一個小小的體驗。 另外補充兩點: 1、如果是用vc6.0進行編譯,會出現四個warning不管它,這是因為vc6.0對c++標準庫的支援不是很好 2、如果想多學點這方面的知識,建議閱讀c++ primer! 11樓:希聲和寡 有人問過, 最佳答案回答的挺不錯的 c++中,在一個陣列中獲得索引位置上的陣列元素值是什麼意思?能不能舉個例子和我解釋一下啊?謝謝了! 12樓:匿名使用者 int num[5] = ; 1的索引位置是0, 2是1, 3是2, 4是3, 5是4。 13樓: 就是陣列中元素的一個下標了 比如定義一個陣列a[9]= 那麼1,2,3,4,5,6,7,8,9的索引位置分別為0,1,2,3,4,5,6,7,8 14樓:新手小漠 索引位置 就是下標+1 c++ 如何定義字串陣列? 15樓: c語言字串陣列中的每一個元素均為指標,即有諸形如「ptr_array[i]」的指標。由於陣列元素均為指標,因此ptr_array[i]是指第i+1個元素的指標。 例:如二維指標陣列的定義為:char *ptr_array[3]=,,}; 擴充套件資料 字串陣列陣列元素表示方法: 陣列元素的一般形式為:陣列名[下標] 其中的下標只能為整型常量或整型表示式。如為小數時,c編譯將自動取整。 例如,a[5],a[i+j],a[i++]都是合法的陣列元素。陣列元素通常也稱為下標變數。必須先定義陣列, 才能使用下標變數。 在c語言中只能逐個地使用下標變數, 而不能一次引用整個陣列。 16樓:匿名使用者 #include using namespace std; int main() ;char **p; p=name; cout<
cout<<*p< cout<<**p< cout<<*(++p)< 17樓:颯爽櫻風 c++里加上標頭檔案string.h 就可以直接用string str[10];這樣定義10個字串了定義時就可以賦值了。 如:string str[3]=; 你可以嘗試用cout< 18樓:金牛多弗朗明哥 方法1, 使用指標陣列: #include #include #include int main() ;int i=0; while(strcmp(test[i], " ") != 0) puts(test[i++]); system( "pause "); return 0; }這個方法比較簡單, 但是問題是這樣的話,字串是常量,無法修改。當然這個問題也可以解決, 比如使用陣列賦值, 然後將 char 陣列首地址賦值給某一個指標即可。 方法2,使用2維陣列: #include #include #include int main() ;int i=0; while(strcmp(test[i], " ") != 0) puts(test[i++]); system( "pause "); return 0; }這樣的話, 問題就是 空間的浪費! 19樓:愛在天空任飛翔 #include #include int main() ;for(int i = 0; i < 3; i ++){cout< 2.using namespace std; 千萬不要include string.h啦,string.h是c裡的字串庫,而string是c++庫,兩者沒有關係。這要弄明白連個庫有什麼不同,在網上搜搜就有。 c++裡的string是包含在std名稱空間裡的,所以要加上第二句。 20樓: 沒有字串陣列,只有字元陣列。 如以下的定義: char c[6]= char c[10]=; char c=; 21樓: c++ 怎麼還有 string ^ line這樣的語法? 標準c++,只有string。 s小寫 字串就是string,多個字串就是 vector 22樓:匿名使用者 就是二維陣列呀。如: char s[10][100] = ; 23樓:匿名使用者 #include int main() ; for (size_t i = 0; i < 2; ++i)printf("\n"); return 0;} 24樓:一千館原創短** char username[n][4]=; n是字串的個數 25樓:匿名使用者 字串陣列也能定義? c++中的char定義的陣列和string的字串有什麼區別啊? 26樓:匿名使用者 明確一下: 你說的char是c++的內建型別char麼你說的string是標準庫中定義的類麼 如果是的話,它兩的區別有: char陣列僅僅是儲存字串用的,c庫中有一系列操作字串的函式string是類,它包含一個可變長度的char陣列,封裝了常用的字串操作函式 它們之間可以轉化 27樓:匿名使用者 你問的陣列問題的話。不知道我的解釋你感覺怎麼樣。 在資料結構的課程裡。 char型的陣列是這樣的: char[0] = 'a' char[1] = 'b' 而string[0] = "asdasdasd" string[1] = "asdasdasd" 這樣的解釋應該有助於你的理解 28樓:匿名使用者 對於char陣列 :#include int main() 執行結果: wwwqqq a=www b=qqq a大於b press any key to continue二者的區別在於:在char陣列中 輸入www回車,輸入qqq回車 即可完成輸入,程式執行 在string物件中 輸入www回車,輸入qqq回車,還要再輸入一個回車才能完成輸入 回車傳送資料到程式中,getline替換回車為'\0' ,寫字串難道不是這樣嗎? 為什麼後者還要多輸入一次回車呢?? 29樓:匿名使用者 一個是 's' 一個是 "s" 就這點區別 30樓:圭帆召胤 都沒有說到重點, char 是值型別! string 是引用型別!這個可是本質的區別。 string可以被例項化,而char不可以。 字串陣列是這樣定義的 char stringarray 3 而字串變數是這樣定義的 char s 10 它們的區別就是字串陣列可以儲存的是多個字串,典型的例子就是main函式的第二個引數,main函式的第二個引數就是一個字串陣列,它用來讓系統傳遞命令列引數,命令列程式的每一個引數之間都是用空格分割的... 改用list吧.方法一是沒有new 沒有分配空間 方法二是在new的時候沒有指定大小,預設是0個元素,所以對其任意一個元素賦值都是越界.在c 中,陣列一般用來存放大小確定的資料.如果陣列大小未知,建議使用list lista new list a.add we messagebox.show a 0... c語言中,賦值 與 賦初值 又叫初始化 是不一樣的。在定義變數的同時賦值,叫賦初值,而定義後賦值就是普通的賦值了。你說的 不能用賦值語句將一字串常量或字元陣列直接賦值給一個字元陣列 這句話是說普通賦值的情況,也就是,不能定義一個字元陣列以後,再給他直接賦值。而 char s 12345 這個語句,是...C 求解字串陣列和字串變數什麼區別,舉個例子區分下
c為字串陣列動態賦值的問題,C 為字串陣列動態賦值的問題
C語言字串陣列問題