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

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

構造体

②構造体自体をポインタで扱う

構造体をmallocして動的に確保したい。 こんなときも多いだろうがとりあえず書き方として #include<stdio.h> #include<stdlib.h> #include<string.h> #include "kouzoutai.h" main() { POINT *p_memallocate; p_memallocate=malloc(sizeof(struct p_kouzoutai)); p_memallocate->a=strdup(</string.h></stdlib.h></stdio.h>…

②構造体の初期化

構造体は初期化することが出来る。 例えば一度に全て0を入れたい場合、memset関数を使う。 #ifndef KOUZOUTAI_H #define KOUZOUTAI_H typedef struct p_kouzoutai { char *a; char *b; char *c; }POINT; typedef struct a_kouzoutai { char a[10]; char b[1…

①メンバに文字列をコピー

メンバに文字列をコピーする。なお上で作成したヘッダファイルkouzoutai.hを使う。 #include<stdio.h> #include<string.h> #include "kouzoutai.h" int main(void){ struct p_kouzoutai copy; strcpy(copy.a,"testcopy"); printf("%s\n",copy.a); } 結果 異常終了 <|| 結果うま</string.h></stdio.h>…

①構造体の使い方

struct p_kouzoutai { char *a; char *b; char *c; } と struct a_kouzoutai { char a; char b; char c[]; } の違いは何だろうか?関数とポインタの項でやったが大きさ分のメモリを取るのが配列でアドレス分だけを取るのがポインタである。 早速見てみると、…