C言語

文字列は0(ヌル文字)で終わる

これは問題ないが #include <stdio.h> int main(void){ char str[4] = "aaa"; printf("%s", str); return 0; } これはエラーとなる #include <stdio.h> int main(void){ char str[4] = "aaaa"; printf("%s", str); return 0; } *strが指し示すのは*(str + 0)なので%sが要求する</stdio.h></stdio.h>…

C言語の目次

学習Tips gccを使う makeを使う Emacs上でshellを使う 文字列は0(ヌル文字で終わる) ポインタ 基本 例文1 例文2 文字列へのポインタ 多次元配列へのポインタ ポインタの配列 ポインタのポインタ 関数 配列を渡す ポインタを返す関数 コマンドライン argc, ar…

Linux環境でお勉強

gccを使う。 Windows一辺倒から抜け出したいが、ついつい慣れ親しんだ環境に舞い戻ってしまう。Macを買ってしまえば一気にそちらへ移行しそうなものだが、二の足を踏んでいる。Linuxを使ってEmacsをバリバリ使いこなそうと思うが、日本語キーボードだと微妙…

ポインタ

すごく久しぶりの更新。。 ポインタにstrのアドレスを代入する。 pにはstrの先頭アドレスが入っている *(p + 0)はstr[0]を参照しており、&(*(p + 0))は先頭アドレスを示す #include <stdio.h> int main() { char str[] = "hogemoge"; char *p; p = str; printf("%s\n"</stdio.h>…

C言語

構造体 #include <stdio.h> struct student{ char *name; int age; }; struct student makeSt(char *, int); void func(struct student); int main(void){ struct student taro; taro = makeSt("Taro", 30); func(taro); return 0; } void func(struct student boys){</stdio.h>…

C言語

ポインタと配列 ポインタ周りで苦戦中。でもたくさん書いていたらだんだんとなじんできた。 #include <stdio.h> int main(void){ char *str[] = {"aiueo"}; char mystr[] = "ohyeah"; char *mystr2 = "uho"; printf("%s %c%c\n", str[0], str[0][0], str[0][1]); prin</stdio.h>…