ホームページ  >  記事  >  バックエンド開発  >  C と C++ の "void *" の違いは何ですか?

C と C++ の "void *" の違いは何ですか?

PHPz
PHPz転載
2023-09-02 13:17:02919ブラウズ

在C和C++中,“void *”有什么区别?

このセクションでは、void ポインターと C の null ポインター。これらは両方とも void ポインターですが、C では、void ポインターは次のようになります。 C ではポインタ型を割り当てることはできませんが、C ではそうする必要があります。 代入のための明示的な型変換。

次の例では、コードを記述するときに、次の行を実行できます。 コードはC言語です。

void *p;
int *int_ptr = p;

これは C では正常に動作します。ここで、malloc() を使用してメモリ空間を割り当てると、 明示的な型変換を使用することもできますが、それを行わなくても問題はありません。 malloc() 関数は null ポインタを返します。

int *int_ptr = malloc(sizeof(int) * 10);

ここで返される void ポインターは、暗黙的に整数型のポインターに変換されます。

C と C で同じプログラムを実行したい場合は、明示的に Cast と入力する必要があります。 ポインタ。

えええええ

以上がC と C++ の "void *" の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。