指针相关知识点

自己老是忘,就写下来了

<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">1、返回指针值的函数</span>

定义: 类型名 * 函数名(参数表列) 如 int * a(int x,int y)  调用该函数后,返回值为一个指向整型数据的指针

2、指向函数的指针 函数的入口地址即为函数的指针

定义: 数据类型 (* 指针变量名)(函数参数列表)

使用注意:用函数指针调用函数时,只需要将(* 指针变量名)代替函数名即可

示例:

int (* pointer) (int,int);  //定义一个指向函数的指针,其中,*与pointer用括号括起来代表这是一个指针变量,然后再与后面括号结合,表明此指针变量指向函数
int z=0;

int max(int x,int y)
{
    if(x>=y) return x;
    else return y;
}

pointer=max;    //将函数的入口地址赋给指针变量pointer
z=(* pointer)(x,y);
3、指针变量作为函数参数

代码示例:

int main()
{
    void max(int * p1,int * p2);
    
    int a=5,b=3;
    int * pointer_1;
    int * pointer_2;
    
    pointer_1 = &a;
    pointer_2 = &b;
    
    printf("%d %d\n",a,b);
    
    max(pointer_1,pointer_2); //调用这个函数时,将实参变量的值送给形参变量,采取的是“值传递”的方式,调用后,形参p1的值为&a,形参p2的值为&b
    printf("%d %d\n",a,b);
    
    system("PAUSE");
    return 0; 
}

void max(int * p1,int * p2)
{
    int temp;
    temp=*p1;
    *p1=*p2;
    *p2=temp;
}

4、指向结构体变量的指针

示例代码:

struct student
{
      int num;
      int name;
}stu1;
struct student * pointer;
pointer = &stu1;



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值