コピー
プログラムで良く使うのが、変数に値を設定する事です。ここでは値の型によって設定する方法が異なったり、便利な関数を使ったりする方法をご紹介です。値の設定の基本は、"="を挟んで右から左に値をコピーします。あと同じ型同士でないとコンパイルの時にひどく怒られます。無理やり入れたい場合は右側の型を変化(cast)させる手も有りますが初めの内は避けたほうが良いかも
■=でのコピー
#include <stdio.h> int main(int argc,char **argv) { int a; int aa; char b; char c[3]; a = 10; // aに10を設定 aa = a; // aの値をaaに設定 b = 'A'; // cに'A'を設定 // cはcharの連続領域に、[ok]の文字列(string)を設定する場合には、 // 各char領域に値と最後に終端(0x00)を設定する事により文字列となる c[0] = 'o'; c[1] = 'k'; c[2] = 0x00; printf("%d %d %c %s\n",a,aa,b,c); }
gcc main.c ./a.out 10 10 A ok
■関数でコピー
文字列を扱う場合は、予め用意された関数を使うのが良いでしょう。(自前で作っても良いですが)
・strcpy 文字列のポインタから指定した文字列を設定する。
#include <stdio.h> #include <string.h> int main(int argc,char **argv) { char c[3]; strcpy(c,"ok"); printf("%s\n",c); }
$ gcc main.c $ ./a.out ok