学一阵子C++了,终于到了最难的地方了。C++的指针,对于指针 我能说,学起来不难,难得是怎么用他。
指针的定义
int *p;
这样就定义了指针。当我们的程序体积很大的时候,为了避免发生空指针的现象。定义的时候最好给它一个
初始值。
int *p=0;就可以了。
我们都知道,指针可以保存变量的地址。但是若是让指针去寻找,我们要的变量,那么指针的类型也必须和
变量的类型相同。
也就是说,int型的指针只能指向int型的变量。
取出指针在内存中的地址。
#include<iostream>
using namespace std;
int main(){
int *p1=0;
int a=3;
double *p2=0;
double b=4.3;
p1=&a;//取出a的地址,存放到指针p1中。
p2=&b;//取出b的地址,存放到指针p2中。
cout<<p1<<endl;//输出a的地址。
cout<<p2<<endl;//输出b的地址。
cout<<*p1<<endl;//输出p1的值 此时a已经把它的值赋给p1
cout<<*p2<<endl;//输出p2的值。同上
cout<<
return 0;
}
指针的定义
int *p;
这样就定义了指针。当我们的程序体积很大的时候,为了避免发生空指针的现象。定义的时候最好给它一个
初始值。
int *p=0;就可以了。
我们都知道,指针可以保存变量的地址。但是若是让指针去寻找,我们要的变量,那么指针的类型也必须和
变量的类型相同。
也就是说,int型的指针只能指向int型的变量。
取出指针在内存中的地址。
#include<iostream>
using namespace std;
int main(){
int *p1=0;
int a=3;
double *p2=0;
double b=4.3;
p1=&a;//取出a的地址,存放到指针p1中。
p2=&b;//取出b的地址,存放到指针p2中。
cout<<p1<<endl;//输出a的地址。
cout<<p2<<endl;//输出b的地址。
cout<<*p1<<endl;//输出p1的值 此时a已经把它的值赋给p1
cout<<*p2<<endl;//输出p2的值。同上
cout<<
return 0;
}