首页 > 其他分享 >C语言--指针与函数

C语言--指针与函数

时间:2023-02-12 23:12:05浏览次数:35  
标签:函数 -- void C语言 int func 指针

1.深入函数

  --函数的本质是一段内存中的代码(占用一片连续内存)

  --函数拥有类型,函数类型有返回值和参数类型列表组成

    eg:int sun(int n) <==>int (int)

      void swap(int* pa, int* pb)<==>void (int* ,int*)

      void g(void);<==>void(void)

2.事实

  --函数名就是函数体代码的骑施地址(函数入口地址)

  --通过函数名调用函数,本质为指定具体地址的跳转执行

  --可定义指针来保存函数入口的地址

3.函数指针(Type func(Type1 a, Type2 b))

  --函数名即函数入口地址,类型为Type(*)(Type1, Type2)

  --函数func,&func与func数值相同,意义相同

  --指向函数的指针:Type(*pFunc)(Type1, Type2) = func;

    eg:int add(int a, int b);

      int(*pFunc)(int, int) = add;//int(*pFunc)(int, int) = &add;

4.函数指针参数

  --函数指针参数就是指针(变量, 保存内存地址)

  eg:int add(int a, int b, int*(pFunc)(int, int));

5.注意

  --函数指针只是单纯的保存函数的入口地址

  --不能进行指针的移动运算

6.数组参数

  --函数的数组形参退化为指针,所以不包含数组实参的长度信息,使用数组名调用时,传递的是0号元素的地址;

  eg:void func(int a[])<===>void func(int* a)<===>void func(&int a[0])

小结:

  函数名的本质是函数体的入口地址

  函数类型由返回值和参数类型列表组成

  可定义指向函数的指针:Type(*pFunc)(Type1, Type2)

  函数指针只是单纯的保存函数的入口地址(不能进行指针运算)

标签:函数,--,void,C语言,int,func,指针
From: https://www.cnblogs.com/ysnana/p/17114953.html

相关文章