我找回成C++,並有指針和諸如此類的東西的竅門,但是,我希望我能得到一些幫助理解爲什麼這個代碼段中給出了一個總線錯誤。需要幫助的字符改變單個字符*
char * str1 = "Hello World";
*str1 = '5';
錯誤:總線錯誤:(
更普遍,我想知道如何改變單一字符的值在一個CString因爲我的理解是,*海峽=「5」應該改變。該值STR分從「H」到「5」,所以,如果我是打印出的STR它會讀:「5ello世界」
在試圖理解我寫了這個代碼片斷太,其中工程如預期;
char test2[] = "Hello World";
char *testpa2 = &test2[0];
*testpa2 = '5';
這給出了所需的輸出。那麼testpa2和str1有什麼區別?難道他們都不指向一系列以空字符結尾的字符?
真棒定義。這爲我清除了一切。謝謝! – nick 2011-06-17 02:13:05