指针
指针是一种数据类型,存放地址的手段。
空指针
大多数情况定义的是
#define NULL 0
但需要传入 NULL 的地方 不一定可以传入 0 , 它们使用的方法不是完全等价的。
在C++中对NULL重新做了定义 NULL ---> nullptr
其他指针
this指针,函数指针
函数指针: 一个指向函数的指针
int add(int a,int b)
{
return a+ b;
}
int main()
{
// int add(int ,int ); //这是一个函数的声明
int (*p)(int , int ) = nullptr; //初始化一个函数指针指向bullptr
p = add; //地址值的赋值
cout << p(10,20) << endl; //cout << add(10,20) << endl;
}
利用函数指针制作一个方便的可以输出不同情况数组的示例:
bool fn(int n )
{
return true;
}
int printfArray(int *a, int len,bool (*pfn)(int))
{
for(int i = 0 ; i < len ; ++i)
{
if(pfn(*(a+i)))
{
cout << *(a+i) << endl;