Quantcast
Channel: OKWAVE 閲覧数の多い質問(C・C++・C#/250)【本日】
Viewing all articles
Browse latest Browse all 50953

構造体のデータを丸ごとコピーしたい

$
0
0
C言語の構造体の勉強をしています。 構造体のデータを丸ごとコピーしたいのですが、今までは下記プログラムの★1の方法で1つ1つやっていました。 しかし変数が増えてきたのでできれば一度にコピーをしたいのですが、★2の方法では場合によってはゴミが含まれてしまいます。 そこで★3の方法で試すと今のところコピーできたのですが、これは安全なのでしょうか? ご存知の方がおられればお願いします。 また、もっといい方法があればご伝授いただけると助かります。 #include <stdio.h> #include <string.h> struct Sample{  int val1;  int val2; }; void test(Sample *p, int num){  Sample d;  switch(num){  case 1: //★1   d.val1 = p->val1;   d.val2 = p->val2;  break;  case 2: //★2   memcpy(&d, p, sizeof(Sample));   break;  case 3: //★3   d = *p;   break;  }  printf("val1:%d, val2:%d\n", d.val1, d.val2); } int main(){  Sample s;  s.val1 = 1;  s.val2 = 2;  test(&s, 1);  return 0; }

Viewing all articles
Browse latest Browse all 50953

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>