标签:
#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;
}
标签:
原文地址:http://www.cnblogs.com/zhuyaguang/p/4828042.html