• ベストアンサー

ユーザー定義型変数の一括初期化

ユーザー定義型の変数を初期化する場合、 各エレメントごとに初期化をすればいいのですが、 C言語のmemset()の様に、一括で初期化をする方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

空のユーザー定義型変数を代入してやればよい。 Public sub EraseTypeHoge(byref Data as TypeHoge) Dim nul as TypeHoge Data = nul end sub

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 Eraseステートメントでしょうか。 数値→0 文字列→"" などと決まった値にするだけですが。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語にて、以下のような配列を定義した場合の初期化(0埋め)方法が分か

    C言語にて、以下のような配列を定義した場合の初期化(0埋め)方法が分からずに困っています。 char name[50][30]; <現在やっている事> memset(&name[0][0], 0x00, sizeof( name )); 上記の方法では、sizeofの値が正しくないように思っている (正しい値は30と考えています)のですが、 正しくはどのように行うものでしょうか。 どなたか教えていただけると幸いです。 以上ですが、よろしくお願いいたします。

  • C,C++に変数の初期化と処理系について

    C,C++で変数宣言したけれども初期化しないで使った場合、何らかの値を出力してしまう場合とかエラー(core dumpなども)を出して停止する場合など処理系依存ということになると思います。また、別言語ではデフォルトでゼロ指定される場合もあります。これは自動初期化とい意味で初期化がされているものに分類されます。 処理系で初期化しないで変数を利用して適当な値を出すという風になっているとしたらその理由とかメリットというのがあるものでしょうか。core dumpで処理が停止するというのは当然であり、良心的とも言えるわけで、適当な値を出すことは危険極まりないと思うのですが。 Windowsで、分子・分母の変数を定義しないで割り算したところ、256な数値が出ました。 Linuxではcore dumpになるところだと思います。 初期化して使え、ということを徹底するべきですが、逆に初期化しないでも(すなわち変数としてどのアドレスに対応しているか不明であっても?)計算を進めてしまうメリットがどこかにあるのか?という疑問が生じます。 いかがでしょうか。そこが分かれば尚更変数を初期化して使う習慣が身に着くと思うわけですが。

  • 変数の型を定義しなかった場合どうなりますか?

    現在、VBAを使ってプログラミングを行っているところなのですが、 一般的に、プログラムの最初で変数に対してintegerやlongといった型を定義してから使うというように教わりますが、このように型を定義しなくとも使うことが出来ます。もし定義しなかった場合、その変数の型は何に設定されているのでしょうか? では型を定義するメリット及び、せずに使った場合のデメリットは何なのでしょうか? 私が使っているのはVBAですが、他の言語では型を定義しなければ、その変数を使うことが出来ないというようなものもあるのでしょうか?

  • ユーザー環境変数の一覧

    システム環境変数とログインしている環境変数それと、 存在する全てのユーザーに対する環境変数を取得するプログラムをC言語作成したいのですが、どうすればよいのでしょうか? OSはWindows2000です。 言語は問いません、VC++2005かC#かVB.NETのどれでも構いません。

  • 大量の変数を定義するにはどうしたら良いですか?

    VBA或いはVBのプログラムの最初で変数の型を定義したい場合、 変数が100個以上ある場合にはどうすれば良いのでしょうか? 100行にも渡って変数の定義を書くのはあまりにも見づらいと思います。何か良い方法がありましたら教えて下さい。

  • 同じ名前の外部変数定義

    C言語で、何個かのファイルに同じ型、同じ名前のstatic型の外部変数定義があっても大丈夫ですか? static型でなかったら駄目だと思うのですが、static型ならいい気もしてきて悩んでます。宜しくお願いします。

  • C言語のグローバル変数の初期化について

    C言語において int a = 1; // 動的グローバル変数 static int b = 2; //静的グローバル変数 funcA(){ int c = 3; // 動的ローカル変数 static int d = 4; //静的グローバル変数 ・ ・ ・ } 上記のように各種変数を初期化したとします。 "c"のような動的ローカル変数であれば、funcA()が呼ばれたときに毎回初期化されますよね? では ・"d"のような静的ローカル変数は、初めてfuncA()が呼ばれたときに初期化されるのですか? ・"a","b"のyほうなグローバル変数は、どのタイミングで初期化されるのですか? 以上2点について伺いたいと思います。 ちなみに、組み込み機器むけのソフトウェアを想定しています。

  • c言語で定義する変数のアドレス

    c言語の超初心者です。追いえてください。 c言語で2つの変数を定義しています。 char *a; char *b; この2つの変数に値をいれた際の動作で以下のようなことって発生しますか? a="1111" b="2222" aをprintfするとbにいれた値"2222"が表示される。

  • C++の変数の初期化

    C++を勉強中です。JavaやC#、JavaScriptといった言語はひととおり使えます。 C++におけるクラスHogeの変数hogeの初期化で、以下のふたつの構文では意味が違うようですが、どのように違うのでしょうか? Hoge hoge; Hoge hoge();

  • VC++でクラス変数の定義方法。

    VC++でクラス変数の定義方法。及び、使用方法を教えてください。 しっかりと、インスタンスを生成して変数を使用してるのですが、呼んだときには、変数は初期化されてNULLになってしまいます。 どうしたらよいか教えてください。