day13-函数指针、指针函数、二级指针、动态内存申请

本文介绍了C语言中的指针概念,包括函数指针、指针函数、二级指针以及动态内存申请。通过示例详细讲解了如何定义和使用函数指针,并展示了如何在函数中通过指针改变外部变量的值。同时,讨论了NULL和void *指针的用途。最后,探讨了动态内存分配函数malloc和calloc的使用以及释放内存的重要性。
摘要由CSDN通过智能技术生成

day13 指针
-----------------------------------------
回顾复习
指针的运算:指针偏移 -- 指向对象的数据类型
指针运算在数组中的应用
数组指针
指针数组

int *arr[3];  --- 指针数组
              ---  arr[下标]   -- 解地址的形式
              --- *(arr[下标]) -- 
int (*p)[3];  --- 数组指针 --- 指向二维数组里面第一个数组。
              --- 地址:*(p+行偏移)+列偏移
              --- 空间:*(*(p+行偏移)+列偏移)
-----------------------------------------
函数指针
指针函数
NULL和void *的指针
二级指针

拓展:动态内存申请

-----------------------------------------
1、函数指针
    是指针,指向对象是函数。
    
    函数指针指向同一类的函数,然后进行函数的调用。
    
    函数名就是函数的地址,函数类型:除了函数名剩下的就是函数的类型。
    
    定义函数:
        int add(int a,int b)
        {
            return a + b;
        }
        
        int sub(int m,int n)
        {
            return m - n;
        }
        
        分析函数:
            函数名:add
            函数类型:int (int a,int b)  --- int (int ,int )
            
            函数名:sub
            函数类型:int (int m,int n)  --- int (int ,int )
            
    
    定义函数指针:指向add
        -- (*指针名) 放在返回值类型和(形参列表)的中间即可。
        
        int (*p)(int ,int);   // 内存会开一个4/8个字节的空间,用于存放函数的地址。
        
        p = add;
        
    通过函数指针调用函数
        int res = (*p)(3,5);    // add(3,5);
        printf("%d&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值