warning: ‘<<’ in boolean context, did you mean ‘<’? 警告:<<でなくて<では? [-Wint-in-bool-context] ■【… 続きを読む 【C言語】
【<】と【<<】を間違える
タグ: 似て非なる
【C言語】
【C言語】
char *argv[]は
2次元配列と違う
■char *argv[]サンプルコード ■2次元配列サンプルコード ■argvと2次元配列の違い このプログラムの場合 (1) 2次元配列は末尾に番兵のNULLポインタを置けない。(2) 2次元配列は行 x 列のメモリ… 続きを読む 【C言語】
char *argv[]は
2次元配列と違う
【C言語】
オーバーフローと
オーバーランの違い
(overFlow VS overRun)
warning: unsigned conversion from ‘int’ to ‘unsigned char’ changes value from ‘305419896’ to ‘120’ 警告: ‘… 続きを読む 【C言語】
オーバーフローと
オーバーランの違い
(overFlow VS overRun)
【C言語】
キャッシュの有無で
二次元配列参照の処理速度は
物凄く違う
■1.要するに安近短が百倍早いらしい for(x;for(yとfor(y;for(xの処理速度を比較してみました。 ■2.for(x;for(y対for(y;for(x やっている事はどちらも2次元配列を文字’QR… 続きを読む 【C言語】
キャッシュの有無で
二次元配列参照の処理速度は
物凄く違う
【C言語】
strNcpyとmemcpyの違い
■1.strNcmpとmemcmpが違う例 ●違いその1 strncmp()は終端文字¥0までしか比較しないmemcmp()は終端文字¥0を超えて比較する。 ●違いその2 strncmp()の第1,第2引数には char… 続きを読む 【C言語】
strNcpyとmemcpyの違い
【C言語】
オーバーフローと ラップアラウンドの違い (overflow vs wrap around)
(error): Signed integer overflow for expression ‘y+2‘ 警告:’y+2’の計算で符号付き整数オーバーフロー[(error… 続きを読む 【C言語】
オーバーフローと ラップアラウンドの違い (overflow vs wrap around)
【C言語】
#ifと#ifdefの違い
条件コンパイルの使い方
■1.#if DEBUG #define DEBUG 0#if DEBUGDEBUGの値は0#if 00は偽#if 偽⇒展開されない #define DEBUG 1#if DEBUGDEBUGの値は1#if 11は真… 続きを読む 【C言語】
#ifと#ifdefの違い
条件コンパイルの使い方
【C言語】
【|】と【||】、【&】と【&&】の違い短絡評価とは?
■1.【|】と【||】の違い ●on()|off() |はビット演算子なので両辺の関数は必ず呼ばれる(評価される)1|01=1=真なのでthenが表示される。 ●on()||off()) ||は論理演算子なのでon()… 続きを読む 【C言語】
【|】と【||】、【&】と【&&】の違い短絡評価とは?
【C言語】”文字列”とは
【単なるchar *】。
【符号無しchar *】ではなく
【符号付きchar *】でもない
warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness 警告: ‘strcpy’ の第一引数… 続きを読む 【C言語】”文字列”とは
【単なるchar *】。
【符号無しchar *】ではなく
【符号付きchar *】でもない
【C言語】
if(“文字列”==”文字列”)は 文字列領域のアドレス比較で 文字列比較とは違う
warning: comparison with string literal results in unspecified behavior 警告:文字列リテラルに対する比較の結果は未規定動作です。代わりにstrcmp… 続きを読む 【C言語】
if(“文字列”==”文字列”)は 文字列領域のアドレス比較で 文字列比較とは違う
【C言語】
配列の要素数とサイズは違う
sizeの変数名で誤解する
warning: ‘memset’ used with length equal to number of elements without multiplication by element size 警告:memse… 続きを読む 【C言語】
配列の要素数とサイズは違う
sizeの変数名で誤解する
【C言語】
ビット反転【~】と
論理反転【!】の違い
■1.【チルダ~】対【ビックリマーク!】 ●ビット反転【チルダ~】1 ⇒~ビット反転 ⇒0xFFFFfffE(2進数1111…0)0 ⇒~ビット反転 ⇒0xFFFFfffF(2進数1111…1) … 続きを読む 【C言語】
ビット反転【~】と
論理反転【!】の違い