thisdesuのブログ

C言語はじめました

にほんブログ村 IT技術ブログ C/C++へ

コピー

プログラムで良く使うのが、変数に値を設定する事です。ここでは値の型によって設定する方法が異なったり、便利な関数を使ったりする方法をご紹介です。値の設定の基本は、"="を挟んで右から左に値をコピーします。あと同じ型同士でないとコンパイルの時にひどく怒られます。無理やり入れたい場合は右側の型を変化(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