【C言語】
長い文字列は複数行に分けて書いてOK!円記号¥も不要

■長い文字列(寿限無) ■短い文字列を連結して長い文字列を作る ■予期せぬ文字列リテラルの連結(例1) C言語では連続する文字列リテラルは連結されます。つまり”文字列A” ”文字列B”は”文字列A… 続きを読む 【C言語】
長い文字列は複数行に分けて書いてOK!円記号¥も不要

【C言語】
文字列配列の要素数を指定すると終端文字’¥0’が入らず暴走する時がある

■1.暴走するstrlen ■2.暴走するprintf ■3.暴走するstrcmp ■4.暴走するstrcpy これらのプログラムが何と表示するかは動かしてみないと誰にもわかりません異常終了するかもしれません。 配列 a… 続きを読む 【C言語】
文字列配列の要素数を指定すると終端文字’¥0’が入らず暴走する時がある

【C言語】”文字列”とは
【単なるchar *】。
【符号無しchar *】ではなく
【符号付きchar *】でもない

warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness 警告: ‘strcpy’ の第一引数… 続きを読む 【C言語】”文字列”とは
【単なるchar *】。
【符号無しchar *】ではなく
【符号付きchar *】でもない

【C言語】
文字列末尾の終端文字¥0は
自分で書かなくてOK

warning: embedded ‘\0’ in format 警告:書式中に終端文字¥0があると書式終了[-Wformat-contains-nul] ■1.末尾の¥0は自分で書かなくてOK 文字列リテラルの終端文字… 続きを読む 【C言語】
文字列末尾の終端文字¥0は
自分で書かなくてOK

【C言語】
if(“文字列”==”文字列”)は 文字列領域のアドレス比較で 文字列比較とは違う

warning: comparison with string literal results in unspecified behavior 警告:文字列リテラルに対する比較の結果は未規定動作です。代わりにstrcmp… 続きを読む 【C言語】
if(“文字列”==”文字列”)は 文字列領域のアドレス比較で 文字列比較とは違う

【C言語】
文字列が空かどうか終端文字¥0を使って判定する方法

■null判定って書くのは止めよう! 【null判定】【ヌル判定】【ナル判定】って書くのは止めよう! 【NULLポインタ判定】【空文字列判定】【終端文字¥0判定】と書こう。 ■推奨例:空文字列を判定する関数 NULLポイ… 続きを読む 【C言語】
文字列が空かどうか終端文字¥0を使って判定する方法