函数与指针

来源:互联网 发布:看股票行情用什么软件 编辑:程序博客网 时间:2024/05/17 22:07

1、函数名即是函数的入口地址

2、对指向函数的指针做算术运算是没有意义的

3、设计指向函数的指针可以更好地实现结构化程序设计方法。编写对一类数据进行不同处理的函数,增加函数的灵活性,可以编写一个通用的函数来实现各种专用功能

void process(int,int,int(*fun)(int,int));

 

1、一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。

2、一个源程序文件由一个或者多个函数以及其他内容组成。一个源程序文件是一个编译单位

3、函数不能够嵌套定义,但是函数可以嵌套调用

4、C语言中,实参向形参的数据传递是“值传递”,单向传递,不能由形参传回实参。在内存中,实参单元与形参单元是不同的单元

5、在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。只有在发生函数调用时,函数的形参才被分配内存单元。调用结束后,形参所占内存空间也被释放

6、return语句后面的括号可以要也可以不要

7、C语言中,凡是不加类型说明的函数,自动按照整型处理

8、若函数值的类型和return语句中表达式的值不一致,则以函数的类型为准

9、函数的递归调用:可以考虑将先问题的规模缩小

 

 //算法规模为2的n次方减去1

#include <stdio.h>
void move(char x,char y)
{
    printf("%c——>%c\n",x,y);
}
void hanoi(int n,char one,char two,char three)
{
    if(n==1)
        move(one,three);
    else{
        hanoi (n-1,one,three,two);
        move(one,three);
        hanoi (n-1,two,one,three);
    }
}
int main(void)
{
    int m;
    printf("Please input the number!\n");
    scanf("%d",&m);
    hanoi (m,'A','B','C');
    return 0;
}
原创粉丝点击