33. 返回指针

创建日期:2024-07-10
更新日期:2025-02-01

return_pointer.c

#include <stdio.h>
#include <stdlib.h>

long *IncomePlus(const long *pPay);

int main()
{
    long your_pay = 30000L;
    long *pold_pay = &your_pay;
    long *pnew_pay = NULL;
    pnew_pay = IncomePlus(pold_pay);
    printf("Old pay = $%ld\n", *pold_pay);
    printf("New pay = $%ld\n", *pnew_pay);
    free(pnew_pay);
    return 0;
}

long *IncomePlus(const long *pPay)
{
    long *pNewPay = (long *)malloc(sizeof(long));
    *pNewPay = *pPay + 10000;
    return pNewPay;
}