tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: 構造体
投稿日: 2008/05/30(Fri) 00:57
投稿者戸豚
> Longとcharでやり取り出来るのでしょうか?!

Longとchar、ではなくてLongとchar*です。
アドレスはLongで表現できるのでアドレスが明示的に扱えないVBではLongで定義してるに過ぎません。

> VC++で
> strcpy(PINFO->test[1], "test");
> こんな感じに構造体に値を入れて上げて。
> VBで
> PINFO(0).test1(0)の値が"test"となっていなければいけないのですが・・・。

PINFO->testは
struct info{
  char test[10][10];
};
のような2次元配列で良いでしょうか?
それならば
struct info{
  // ポインタの配列を使う。
  char* test[10];
};
struct info{
  // ポインタへのポインタを使う。
  char** test;
};
のいずれも
strcpy(PINFO->test[1],"test");
で2番目の配列に"test"の文字がセットされます。

> あと、
> charとchar*とchar**の違いは何なのでしょうか?
> 自分でも調べますがついでに教えていただけるとVC++初心者なのでありがたいです♪

char  は文字型。
char* は文字型の配列へのポインタ。
char**はchar*の配列の先頭アドレスを示すポインタ。
です。
C言語では「配列」と同じように扱える「ポインタ」が存在します。
すみませんがポインタについて説明し出すとキリが無いので、ここではご自分で勉強なさって下さい、としか言えません。

C/C++言語ではポインタが鬼門になるので、きっちり理解しておいた方が良いです。
個人的には技術評論社から出ている『C言語ポインタ完全制覇 (標準プログラマーズライブラリ)』前橋和弥著、が読みやすかったのでお勧めします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。