什么是指针?
指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:
type *var-name;
在这里,type 是指针的基类型,它必须是一个有效的 C++ 数据类型,var-name 是指针变量的名称。用来声明指针的星号 * 与乘法中使用的星号是相同的。但是,在这个语句中,星号是用来指定一个变量是指针。以下是有效的指针声明:
int *p; //一个整型的指针
double *p; // 一个 double 型的指针
float *p; // 一个浮点型的指针
char *p; // 一个字符型的指针
C++ 中使用指针
使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值,下面看代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
//int *ip; /* 一个整型的指针 */
//double *dp; /* 一个 double 型的指针 */
//float *fp; /* 一个浮点型的指针 */
//char *ch; /* 一个字符型的指针 */
using namespace std;
void test1(){
int number1;
char number2[10];
cout << "number1的变量:";
cout << &number1<<endl;
cout <<"number2的变量:";
cout <<&number2<<endl;
}
void test2(){
int number = 20;//实际变量声明
int *p; //指针变量声明
p=&number; //在指针变量中存储var的地址
cout <<"number变量的值:";
cout <<number<<endl;
//输出在指针变量中存储的地址
cout <<"存储在p变量中的地址:";
cout <<p<<endl;
//访问指针中地址的值
cout <<"number *p变量的值:";
cout <<*p<<endl;
}
int main(){
test1();
cout<<endl;
test2();
cout<<endl;
system("pause");
return 0;
}