Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19748
  • 博文数量: 5
  • 博客积分: 215
  • 博客等级: 二等列兵
  • 技术积分: 55
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-10 13:12
文章分类
文章存档

2006年(5)

我的朋友
最近访客

分类: C/C++

2006-03-22 17:02:40

   这几天一直想好好看看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) |
给主人留下些什么吧!~~