[交流]
C++指针变量 已有1人参与
指针变量存储其他变量的地址,CODE: double* p_x;
int* p_i;
*表示声明的变量是指针,p_x是指向一个双精度浮点数变量的指针,p_i是指向一个整型变量的指针。CODE: double *p_x, *p_y;
int *p_i, j;
以上代码中,p_x, p_y, p_i为指针,j为整型变量。第二行这种写法不推荐,最好一行只声明一个指针。
指针变量p_x声明之后,需要辨认变量的位置(即p_x)和变量的内容(即*p_x)。CODE: double y, z;
double* p_x;
z = 3.0;
p_x = &z; //p_x存储变量z的地址
y = *p_x + 1.0; //*p_x表示内存 p_x的内容,即z的值
指针变量需要先指定一个有效地址才能用,比如以下代码就会造成难以觉察的问题,CODE: double* p_x; //p_x存储双精度变量的地址——这里还没有指明地址
*p_x = 1.0; //给未指明的内存赋值
以上问题可以用关键字new分配内存,避免以上问题,CODE: double* p_x;
p_x = new double; //给p_x分配一个地址
*p_x = 1.0;
delete p_x; //释放p_x对应的内存
使用指针一定要注意指针别名,CODE: double y;
double* p_x;
y = 3.0;
p_x = &y;
std::cout << "y = " << y << "\n";
*p_x = 1.0; //这里改变了变量y的值
std::cout << "y = " << y << "\n";
[ Last edited by sciencejoy on 2014-2-23 at 21:39 ]
» 猜你喜欢
售一区SCI文章T0P,我:8O.551.O54,科目全,可十急
已经有9人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有8人回复
售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急
已经有10人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有9人回复
售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急
已经有7人回复
售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急
已经有9人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有10人回复
OpenAI又攻克数学难题了,离AI做有机合成还有多远?
已经有6人回复
售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急
已经有10人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有7人回复
» 本主题相关价值贴推荐,对您同样有帮助: