※ ChatGPTを利用し、要約された質問です(原文:(int *)の意味)
(int *)の意味
このQ&Aのポイント
C++のmalloc関数は、指定された大きさの領域をヒープに割り当て、その領域の先頭のポインタを返す関数である。
例えば、int *x; のようにポインタ変数を宣言し、malloc関数を使ってint型の領域を割り当てることができる。
その際、(int *)を使ってmallocから返されるポインタの型をintポインタとして指定する。
しょーもない質問すみません。
C++を独学中のプログラミング自体初学者です。
今読んでる教科書に、malloc関数の説明として、
指定された大きさの領域をヒープに割り当て、その領域の先頭のポインタを返す関数であるとあり、
例には、
....
int *x;
x=(int *)malloc(sizeof(int));
*x=100;
.....
などとあるのですが、malloc関数の前の(int *)は
xはあくまで変数、malloc関数で帰ってくるのはpointerなので、
*でポインタから変数にした上で、その変数の型をintに強制的にしているという理解で合っているでしょうか??
どうも*がついている分、xはポインタのような気もして、混乱しています。
お礼
一番わかりやすかったのでBAにさせていただきます。 ありがとうございます。後半についても勉強していきます。