void-pointers

    1

    2答えて

    私は事前に十分なスペースを確保しなければなりません。私は、より大きなタイプの4kのために十分なスペースを割り当てて、それを実際にどのような種類のデータで埋めるかを決定すると思いました。私はコンパイラが私にエラー(etoa:1554):不正なタイプ(ptr-to-void '+' int)と言う問題にぶつかっています。 ser_dat_ch = calloc(LABEL_T_CNT, (

    0

    3答えて

    私は慎重タイプエイリアシングのためのルールの上に読んでいる:http://en.cppreference.com/w/cpp/language/reinterpret_cast#Type_aliasing私は特に最後のルールについての質問があり、私たちはにキャストすることが許可されている特徴: charまたはunsigned char:これはオブジェクトの検査が可能になります私はこれがないと指摘し

    -4

    2答えて

    関数を書くとします。 int read_file (char *filename, void *abc) ファイルを読み込んで数値を配列に入れます。abcが指しています。 voidポインタを使用する必要があります - int *abc voidの代わりにどうすればいいのですか?abcは構文的に配列のように扱い、abc[0]=1のようなことをしますが、ここではそれを行うことはできませんvoidポイン

    0

    1答えて

    cで関数ポインタを使って汎用構造体を作成しました。 特定の関数を呼び出すとき、パラメータの1つが出力パラメータです。私は特定の関数の内部にメモリを割り当てますが、動作しません。助けが大好きです! typedef void *PhaseDetails; typedef Result (*Register)(const char *, PhaseDetails *); Result Func(c

    -3

    2答えて

    voidを受け取る関数Quitがあります。**私はDataStructure *を受け取った新しい関数に渡す必要があります。 問題は、dsのデータがガベージに置き換えられることです。私に何ができる ? void Quit(void** DS){ DataStructure* ds = (DataStructure*) *DS; return ds->Quit(); //'v

    9

    1答えて

    私はもともとこの疑問の私の定式化をひどく悩ましました(これは真剣にC++コードを書いてから1年以上経ちました。もう一度お試しください。 いくつかのCコードは、次の void* p; create_new_thing(&p); //p is now a new thing do_stuff_to_thing(p); //something happened to p 私の質問は、ジュリアにオ

    0

    1答えて

    私はたくさんの見た目を見てきましたが、私の問題に対する答えは見つかりませんでした。 私は自分のリストライブラリをC言語で構築しています。考えられるすべての型のデータで作業するので、私はvoidポインタを使用しています。 まず、これは私のリストです。 ファイル - struct Node{ void *data; Node *next; }; node.h私は、このような、

    3

    1答えて

    テンプレートコードは、それが取得され、後T*にキャストバックすることができるように、タイプvoid*の変数にT*を格納する必要があるが、それはTとT const*の両方を処理する必要がある、それはタイプに対してvoid*又はvoid const*を使用する必要がストレージを消去しましたか? (いずれかの選択肢は、どこかのconstキャストが少なくとも1つ必要です) (実行時にプログラムがvoid

    1

    1答えて

    私は、短い、簡潔な.c/.hファイルで定義された多数の別々のタイプのデータ(つまり、プロセス、ファイル、スレッド、関数など)を持っています。個々の部分の実装を終え、ユニット/コードカバレッジテストを終えたら、私は一緒に接続することに移りました。 現在の実装では、コード内のポインタ・ツー・parent- struct(void *)経由のポインタ、すなわち利用:私はいくつかのstruct sはどのよ

    -1

    1答えて

    // C lang #include <stdio.h> void func (void *ptr) { int *iptr = ptr; printf("{%d, %d, %d}\n", iptr[0], iptr[1], iptr[2]); } int main() { int ary[] = {111, 222, 333}; func(