这几天一直想好好看看c primer这本书,可惜总是看了前几页就放弃了,因为别的事儿给拖了后腿,今天终于在公交车上看了几眼,突然发现了递归和指针让我很郁闷!
听我的同事兼我的师兄讲解之后,我才在黑暗之中看到了一丝亮光,如果一直这样下去,我只能在黑暗中走路了。下面是这两个程序,也许对某些人很简单,但对我来说这是一条丝绸之路!
第一个是递归调用的程序:
#include
void up_and_down(int);
int main(void)
{
up_and_down(1);
return 0;
}
void up_and_down(int n)
{
printf("Level %d:n location %p\n",n,&n);
if(n<4)
up_and_down(n+1);
printf("Level %d:n location %p\n",n,&n);
}
让我明白了在函数调用时候用到了栈的原理!详细说明,我引用了一个哥们的文章!
第二个程序是指针在函数间通信!
#include
extern void interchange(int *u,int *v);
int main(void)
{
int x = 5,y = 10;
printf("originally x = %d and y = %d.\n",x,y);
interchange(&x,&y);
printf("Now x = %d and y = %d.\n",x,y);
return 0;
}
void interchange(int *u,int *v)
{
int temp;
temp = *u;
*u = *v;
*v = temp;
}
让我明白了指针的定义和指针是不一样的东西!
阅读(1298) | 评论(0) | 转发(0) |