码迷,mamicode.com
首页 > 其他好文 > 详细

C基础--指针与函数返回值

时间:2015-09-22 10:17:00      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

#include <stdio.h>
#define A 0
int funcA(int a, int b)
{
    return a + b;
}

/*把指针作为函数的返回值*/
int * funcB(int a, int b)
{
    static int c = A;
    c = a + b;
    return &c;
}
/*通过函数进行内存的申请*/
/*
* 参数:要申请的内存大小
* 返回值:申请好的内存的首地址 
* 这是一种不好的方式
*/
int * funcC(int size)
{
    return (int *)malloc(size);
}
/*通过函数进行内存的申请*/
/*
* 参数:要申请的内存能够保存多少个int变量
* 返回值:申请好的内存的首地址
*/
int * funcD(int sum)
{
    return (int*)malloc(sizeof(int)* sum);
}

/*函数返回值测试*/
int main001(int argc, char **argv)
{
    int *p_int, temp;
    p_int = funcB(2, 5);
    printf("%d \n", *p_int );

    temp = *funcB(4, 8); /*这样写是不推荐的形式*/

    /* &temp = funcB(5, 7); */ /*这样是错误的*/


    system("pause");
    return 0;
}

int main(int argc, char **argv)
{
    int* p_int;

    /*想想看,前面声明的哪个函数原型合理?*/
    p_int = funcC(20);
    for (int i = 0; i < 20 / sizeof(int); i++)
    {
        p_int[i] = i; 
    }
    p_int = funcD(5);
    for (int i = 0; i < 5; i++)
    {
        p_int[i] = i;
    }
    system("pause");
    return 0;
}

 

C基础--指针与函数返回值

标签:

原文地址:http://www.cnblogs.com/zhuyaguang/p/4828042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!