ポインタとは
変数のアドレスを記憶する変数のこと
ポインタ変数
#include <iostream>intmain() { int apple = 101; //ポインタ変数int *p; //&はアドレスを表す p = &apple; //*をつけるとアドレス先の値を表す std::cout << *p << std::endl; }
参照渡し
#include <iostream>voidkeisan(int *x) { //*をつけてアドレス先の値を変更する *x = 25; } intmain() { int apple = 101; //アドレスを渡すkeisan(&apple); //*をつけるとアドレス先の値を表す std::cout << apple << std::endl; }
ポインタと構造体(アロー演算子)
#include <iostream>struct Fruits { char name[128]; int price; int zaiko; }; intmain() { Fruits store = {"apple", 150, 50}; Fruits *p; p = &store; //かっこがないと、(.)が優先されて動きが変わります。 std::cout << (*p).name << std::endl; std::cout << (*p).price << std::endl; std::cout << (*p).zaiko << std::endl; //上と同じ動きになる std::cout << p->name << std::endl; std::cout << p->price << std::endl; std::cout << p->zaiko << std::endl; }