void*memset(void*dst,intval,size_tlen){unsignedchar*ptr=dst;//unsigned char*型を使用している!while(len-->0)*ptr++=val;returndst;} ※memset : dstに対してlenバイト分だけvalで埋めるための関数。 このときに、「え?なんでunsigned char型なの?char型じゃダメなの?」と疑問に思ったので、...
ツイッター、そしてコメントでもいただいたので追記。 printfを使う前提で文字列化はこちらに任せ、十進数で(二進数に見える)数字をテーブル管理する。 #define BCD(c) (__bits__[c])staticconstunsignedint__bits__[]={0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110,111...
https://jp.mathworks.com/help/releases/R2020b/compiler_sdk/cxx/calling-a-shared-library.html
この場合、charポインタを文字列リテラル値で初期化し、各文字を反復処理して小文字に変換します。ただし、char型の引数をtolower関数に渡す場合はunsigned charにキャストしなければならないことに注意してください。 #include<ctype.h>#include<stdio.h>#include<stdlib.h>#include<string.h>int...
#include<errno.h>#include<stdio.h>#include<stdlib.h>#include<string.h>#defineSIZE 100typedefenum{Jan,Feb,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC}month;typedefstruct{unsignedchardd;month mm;unsignedyy;}date;#defineMALLOC_ARRAY(number, type) ((type *)malloc((number) * sizeof(type)))in...
voidinit_map(Map*map,unsignedsize){map->hash_table=calloc(size,sizeof(Data));map->size=size;map->amount=0;} 初期化。callocでメモリを確保しているのでfreeを最後にしなければならない。サイズはユーザー指定。main関数内で宣言Mapのポインタをそのまま(つまりNullポインタ)、init_mapに掘...
#概要C言語でコーディングする上で気をつけている点などをまとめて見ました。但し、書き方は人それぞれなので違和感を覚える人もいるかもしれませんが、もし間違っている点がありましたらご指摘お願い致し…