電脳ミツバチのコンピュータ広報室

銀座の屋上菜園を耕しています。コンピュータ畑も耕します。

C言語全般

NULLと0と'\0'

文字列の終端にNULLを入れる間違いが多くある。 array[len]=NULL; これは環境によって動くが間違いである。 文字列は「ナル文字」で終わるのであって「ヌルポインタ」で終わるのではない。 ナル文字とは「全てのビットが0である文字」と規格され、'\0'で表…

const

constとは変数を読み込み専用にするために使うものです。 #include<stdio.h> main(){ const int i=432526; i=536; printf("%d",i); }エラー E2024 const.c 4: const オブジェクトは変更できない(関数 main ) と怒られてしまった。関数の引数として使うときに書き方に</stdio.h>…

typedef

typedefは型を自分の好きな名前で宣言するときに利用するもので、 たとえばunsigned longが書くのがめんどうくさいのでulongとかに変えて ulong a;とか宣言することでunsigned longを意味するようにします。 具体的な書き方は #include<stdio.h> main(){ typedef unsi</stdio.h>…

バイトオーダー

#include<stdio.h> main() { int a=0x12345678; int i; unsigned char *p=(unsigned char*)&a; for(i=0;i<4;i++) { printf("%x\t",p[i]); } puts("\n"); } 実行結果 78 56 34 12 0x123・・と%xはどちらも16進数であるということである。 現在のCPUは32bitベースが殆</stdio.h>…