Voidポインタの理解
メニューを表示するにはスワイプしてください
最初に void を見たとき、それは何も返さない関数を指していました。void 型の変数を作成することはできませんが、任意のデータ型のアドレスを保持できる**void* ポインタ**を宣言することは可能です。
注意
このセクションのポインタ演習を進めていれば、すべてのポインタが8バイトを占めることが分かります。void* ポインタも例外ではありません。
void* ポインタは特定のデータ型に結び付けられていません。この柔軟性により、任意のデータ型のアドレスを格納できます。ただし、注意点として、void* ポインタを間接参照することはできません。
注意
この制限は、void型の変数を宣言できない理由と同じ原因によるものです。明示的な型変換を行う必要があります。
Main.c
1234567891011121314151617181920#include <stdio.h> int main() { char c = 'F'; int i = 100; double d = 3.15; void* pV; pV = &c; printf("%c \n", *((char*)pV)); pV = &i; printf("%d \n", *((int*)pV)); pV = &d; printf("%.2f \n", *((double*)pV)); return 0; }
Cプログラミングの基礎を修了おめでとうございます! さらに学びを深めるために、マクロ、ソートアルゴリズム、データ構造などのトピックを探求してください。Linuxディストリビューションの習得も、優れたCプログラマーとして成長するのに役立ちます。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 6. 章 6
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 6. 章 6