char配列とcharポインタの使用の違いといくつかの注意点

1593 ワード

constの使い方
const char* p;  p            
char* const p;  p            ,p       

なお、const char*pはchar const*p、すなわちconst記述charと*pと等価である
char*pのメモリ割り当て方式
char* p_char=“123”; 上記のコードは、定数領域に「123」を格納し、ポインタp_を作成することに相当する.charはこの領域を指してこのように作成されたp_charは定数であり、プログラムの実行が完了してから破棄されます.一部のコンパイラでは、文字列定数をchar*に変換できないという問題が報告されます.
warning:deprecated conversion from string constant to‘char*’[-Wwrite-strings]この問題を解決するにはchar*の前にconstを付けて、両者のタイプを一致させる必要があります.
p_char[0]="4";    ,          ,    char* p           strcmp()<br>
p_char="1234";    ,             。<br>