読者です 読者をやめる 読者になる 読者になる

はわわーっ

はわわわわっ

popcntのメモ

c

なんかおもしろそうなもの見つけたので。 ビットを数える・探すアルゴリズムなんでこれで動くんだろうな… ぜんぜんわからん……… #include <stdio.h> #include <stdint.h> uint16_t bs16[] = { 0x3548, 0x4aa2, 0x6f68, 0x2116, 0x7e1d, 0x5ac3, 0x3a23, 0x60c8, 0x6e8d, 0x1706, </stdint.h></stdio.h>…

Cでファイル全体を読み込む

c

やってみたけど、fseek() とか ftell() とか rewind() とか初めて使ったからよくわからん。 エラー処理もちゃんとできてんのかよくわかってない。 #include #include char *readfile(const char *filename) { FILE *fp; long size, n; char *buf; fp = fopen…

インプットデバイスの情報を表示する

/dev/input/event* のデバイスの名前とかを表示する。 #include <dirent.h> #include <fcntl.h> #include <linux/input.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> int is_event_device(const struct dirent *dir) { return…</unistd.h></sys/types.h></sys/stat.h></sys/ioctl.h></string.h></stdlib.h></stdio.h></linux/input.h></fcntl.h></dirent.h>

配列とリストの線形探索

c

やってみた。 まず配列のほう。 #include <stdio.h> int *search(int *, size_t, int); int * search(int *array, size_t size, int value) { size_t i; for (i = 0; i < size; i++) { if (array[i] == value) { return &array[i]; } } return NULL; } int main(void)</stdio.h>…

関数ポインタを使う

c

やってみた。 #include <stdio.h> int add(int x, int y) { return x + y; } int subtract(int x, int y) { return x - y; } int main(void) { int (*func_ptr)(); int (*func_array[])() = { add, subtract }; func_ptr = add; printf("%d\n", func_ptr(1, 2)); prin</stdio.h>…

連結リスト

c

やってみた。 #include <stdio.h> #include <stdlib.h> #include <string.h> struct List { int value; struct List *next; }; struct List * new_list(void); void delete_list(struct List *); void print_list(struct List *); void append_elem(struct List *, int); int main(void) {</string.h></stdlib.h></stdio.h>…

逆ポーランド電卓みたいなやつ

c

Cで書いてみた。Cムズいな。。。 #include <ctype.h> #include <stdio.h> #include <stdlib.h> #define STACK_SIZE 64 static int stack[STACK_SIZE]; static int stack_ptr = 0; void error(char *s) { fprintf(stderr, s); exit(1); } void push(int x) { if (stack_ptr >= STACK_SIZE)</stdlib.h></stdio.h></ctype.h>…

構造体とか

c

Cの構造体とか。 勉強ついでに適当に書いた。 #include <stdio.h> typedef struct { double x; double y; } coordinate_t; void print_coordinate(coordinate_t); void print_coordinate_ptr(const coordinate_t *); void print_coordinate_array(const coordinate_t </stdio.h>…