char 與 char 誤用錯誤。

2021-06-22 05:46:53 字數 314 閱讀 3407

先看下乙個關於字串左旋的**

#include using namespace std;

void reverse(char *str,int start,int end)

{ while (start

這麼寫後程式崩潰,下去除錯發現每次到 語句 str[start++]=str[end];顯示錯誤時無法對str[start]位址進行寫操作,很奇怪為什麼。

其實這個錯誤是基本概念的錯誤!!!char *str="abcdefg"; 其實這個str指向的字串為const 是無法進行修改的!!!!

所以str只能進行讀操作。

char 與char 的區別

乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於 資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料 結構中的堆是兩回事,分配方式倒...

char陣列與char指標

1 以字串形式出現的,編譯器會在結尾自動新增 0,思考,為什麼?存在的c語言方法,如strlen s 計算字串的長度,其中s指標。strlen要計算字串長度,必須知道 是結尾,因此使用 0表示結尾。只有字元陣列才有 0的概念,其它型別 int 的陣列沒有這個概念。因為其他型別的陣列或者指標,沒有st...

char陣列與char指標

char陣列與char指標 1 以字串形式出現的,編譯器會在結尾自動新增 0,思考,為什麼?存在的c語言方法,如strlen s 計算字串的長度,其中s指標。strlen要計算字串長度,必須知道 是結尾,因此使用 0表示結尾。只有字元陣列才有 0的概念,其它型別 int 的陣列沒有這個概念。因為其他...