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

PHPz
リリース: 2023-09-02 13:17:02
転載
921 人が閲覧しました

在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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート