指针示例----01

今天在论坛看见关于指针使用的讨论,原帖:https://bbs.csdn.net/topics/394991693

我整理一下他们所说的几种方法,可能涉及到内存泄漏

case 1:

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

int *min(int x, int y)
{
    int *temp = (int*)malloc(sizeof(int));
    *temp =  x < y ? x : y;
    return temp;
}
int main()
{
    int a = 3;
    int b = 5;
    int *c = min(a, b);
    printf("%d
", *c);
    free(c);
    system("pause");
    return 0;
}

case 2:

#include <stdlib.h>
#include <stdio.h>
    
int *min(int x, int y)
{
    int *temp = (int*)malloc(sizeof(int));
    temp =  x < y ? &x : &y;
    return temp;
}

int main()
{
    int a = 3;
    int b = 5;
    int *c = min(a, b);
    printf("%d
", *c);

    system("pause");
    return 0;
}

case 3:

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

int *min(int *x, int *y)
{
    return *x < *y ? x : y;
}
    
int main()
{
    int a = 3;
    int b = 5;
    int *c = min(&a, &b);
    printf("%d
", *c);

    system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/strive-sun/p/11839825.html