数据初始化疑问
r_x_y 2011-04-15 09:33:15 大家好:
我实验一下“带简单输出参数的函数”。
函数的流程:main里面创建一个double类型值和一个int类型值,将它们的引用传递给separete函数,将结果保存在int类型值里面。separete函数的用途是将double的整数部分取出,赋值给int。
separate形如:void separate(double num, int *wholep);
第一种方法:
void separate(double num, int *wholep);
int
main(void)
{
double num=222.2222;
int *wholep; //声明为int *
separate(num, wholep);
printf("The whole part is %d\n", *wholep);
}
void separate(double num, int *wholep)
{
*wholep = floor(num);
}
==========================================
第二种:
void separate(double num, int *wholep);
int
main(void)
{
double num=222.2222;
int wholep; //声明为int类型
separate(num, &wholep);
printf("The whole part is %d\n", wholep);
}
void separate(double num, int *wholep)
{
*wholep = floor(num);
}
疑问:
一:为什么第二种方法能够按照要求输出结果,而第一种不能?
难道是第一种情况下,没有分配int存储空间??
二:程序编译时,参数的空间如何分配??
我是linux c 初学者,望给以指点。