2009-07-07から1日間の記事一覧

チェイン法によるハッシュ探索

http://www.geocities.jp/ky_webid/algorithm/014.htmlハッシュの話が出てきました。LL等、他の言語では言語仕様として存在しているものですね。Cの場合は自分で実装しないといけません。どういう仕組みなのかちゃんと理解するためにもここはマスターする必…

0x03F566ED27179461ULLの求め方

C

2009-07-04 - 当面C#と.NETな記録 404 Blog Not Found:C - でも一番右端の立っているビット位置を求めてみた これ凄いですね。まだC言語勉強し始めて良く分からない部分も多いですが、なんとなくイメージは付きました。0x03F566ED27179461ULLは6ビットのパタ…

atof関数を自作する

C K&R

K&R本 演習4-2 atofを拡張して、次のような科学記法を扱えるようにせよ。 123.45e-6ここで、浮動小数点のうしろには、eやEと符号の付きうる指数部が続いてもよいとする。 #include <stdio.h> #include <ctype.h> #include <math.h> double myatof(char *s) { double type = 1; double e</math.h></ctype.h></stdio.h>…

空の引数リストではなくvoidを使う

C K&R

K&R本 4.2 double atof() のように、関数の宣言が引数を含まないときには、このatofの引数については何も仮定しないものと受け取られ、すべてのパラメータ・チェック機能はオフにされる。空の引数リストが許される特別な理由は、古いCプログラムを新しいコン…

itoa関数の再帰版の実装

C K&R

K&R本 演習4-12 printdのアイデアを使ってitoaの再帰版を書け。すなわち、再帰ルーチンを呼ぶことによって整数を文字列に変換せよ。 再帰を使って変換ですか。面白そうですね。 #include <stdio.h> void myitoa (int n,char *s) { if(n){ int i = 0; int l = n; while</stdio.h>…

警告レベル最大でstrcpy等を使うと警告

C

VCでstrcpy関数を含んだプログラムをコンパイルすると警告が出る。どうもセキュリティ関連でstrcpy_s関数の方を使わないといけないみたい。 #include <stdio.h> #include <string.h> int main (void) { char s1[10]; char s2[] = "abcedf"; strcpy_s(s1,sizeof(s1),s2); printf(</string.h></stdio.h>…