函数指针VS指针函数;数组指针VS指针数组

#include <iostream>
#include <stdio.h> 
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */


//函数指针VS指针函数 
//函数指针:指向函数的指针;函数指针不允许加加减减。 
//指针函数:返回指针的函数 
int fun(int a , int b){
return a+b;



int (*pfun)(int, int); //定义指向fun函数的指针 


int* fun1(int a,int b){
static int x = a+b;
return &x;

int main(){

pfun = fun; 
//pfun++;//错 
return 0;

/*
//3 数组指针VS指针数组
// *与[]的结合力:[]比*强。int *br[]表示int * br[],br[]先结合,表示数组,然后这个数组中存储指针 
// (*p)指针, (*p)[3]指针指向元素个数为3的数组。 
//
// 
int main(){

int ar[3] = {1,2,3};
int (*p)[3] = &ar;//数组指针

int a = 1,b = 2, c = 3; 
int *br[3] = {&a, &b, &c};//指针数组,存储整型地址的数组 
return 0;

}  


//2 二维数组指针定义
int main(){

int br[2][3] = {0};
int (*p)[3] = br;//br表示保存首元素的地址,首元素是个数组,那么指向br就必须定义一个指向数组的指针变量。 

return 0;






/*
//1 数组指针:指向数组的指针 
int main(int argc, char *argv[]) {

int ar[10] = {1,2,3,4,5,6,7,8,9,10};
//三只合一
cout<<ar<<endl;//访问数组名的内容 ,刚好保存的是首元素的地址 
cout<<&ar[0]<<endl;//对其首元素进行取地址 
cout<<&ar<<endl;//取整个数组的地址 

int a = 10;
int *p = ar;//ar保存首元素的地址,而首元素是整型,那么这个整型指针变量可以接收。 
int *p1 = &ar[0]; //整形指针 

//int *p2 = &ar;//ar是对整个数组取地址,&ar是数组的地址 ,必须定义数组指针,而*p是整型指针。 
int (*p2)[10] = &ar;//&ar是取整个数组的地址;数组指针,定义一个指向数组的指针。大小要相同,类型同 
return 0;
}*/ 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值