タイトル | : Re^3: 構造体 |
記事No | : 12408 |
投稿日 | : 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言語ポインタ完全制覇 (標準プログラマーズライブラリ)』前橋和弥著、が読みやすかったのでお勧めします。
|