static关键字
1.修饰局部变量,延长局部变量的生命周期。
使变量成为静态局部变量,在编译时就为变量分配内存,直到程序退出才释放存储单元。
2.修饰全局变量,限制全局变量的使用范围为本文件中。
全局变量默认为静态全局变量,在编译时就为变量分配内存,直到程序退出才释放存储单元。
3.修饰函数,限制函数的使用范围为本文件中。
使函数成为静态函数,对函数的连接方式产生影响。如果想让内部函数被外界引用,可在函数前添加extern修饰。

void与void *(void指针)
1.void 即‘无类型’,void * 即‘无类型指针’,可以指向任何数据类型。
例如:
int * print;
void * pvoid;
pvoid = print;

2.void的作用
a.对函数返回的限定,例如:
void func (int ,int)
b.对函数参数的限定,例如:
int func(void)

3.void *的作用
a.作为形参,在函数中传递,表示任意类型,例如:
void * func (void *para1,void *para2)

函数指针
a.函数指针是什么?
一个函数占用一段连续的内存地址,当调用一个函数时,实际上是跳转到函数的入口地址,执行函数体代码,然后返回。
函数的入口地址怎么确定呢,它是由函数名标记的,实际是函数名就是函数的入口地址。
函数指针是一种特殊的指针,它指向函数的入口。

b.如何定义一个函数指针变量?
定义两个函数
int func1(int arg1,char arg2)
int func2(char arg2)
定义两个函数指针变量
int (* pfunc1) (int,char) = func1
int (* pfunc2) (char) = func2
只有相同的函数指针类型才可以赋值。

c.如何区别两个函数
函数指针类型是由函数签名决定的,函数签名是函数的身份证,不同类型函数的函数签名是不一样的。
同理,具有相同函数签名的两个函数是同一个函数。
函数签名的组成部分包括:函数名,函数形参的有序列表,函数返回值类型。

d.函数指针的组成部分包括:函数形参的有序列表,函数返回值类型。

转载于:https://www.cnblogs.com/zhou--fei/p/7688204.html

简述static关键字、void与void *(void指针)、函数指针相关推荐

  1. static关键字 void和void指针 函数指针

    static关键字 1.作用于变量:    用static声明局部变量-------局部变量指在代码块{}内部定义的变量,只在代码块内部有效(作用域),其缺省的存储方式是自动变量或说是动态存储的,即指 ...

  2. 【C基础】指针/指针运算/二级指针/函数指针

    指针定义: 指针是一种数据类型,使用它可以用来定义指针变量,指针变量中存储的其实是整数,这种整数代表了内存的编号. 指针的使用: 1.函数之间相独立,但有些时候需要共享变量.传参是值传递全局变量容易命 ...

  3. c语言把结构体首地址放入指针,C语言基础———指针,结构体指针,函数指针

    指针基础 一 指针就是地址,地址就是指针.指针存储的是内存的地址. 二 指针的定义 1.&表示取址运算符,&a 可以取到 a 在内存中的地址;打印地址的占位符为(%p),printf( ...

  4. 指针数组 数组指针 函数指针 指针函数

    目录 数组指针 指针数组 函数指针 指针函数 数组指针 数组指针的本质: 它是一个指针,指向的是一个数组 数组指针定义: int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一 ...

  5. 复习C语言指针---函数指针

    复习C语言指针-函数指针 文章目录 复习C语言指针---函数指针 函数 函数指针 函数指针数组 回调函数 结束语 函数 一个函数表达式其实是不存在直接的"()"操作符的," ...

  6. [C语言]static关键字--#define 定义常量和宏--初识指针--初识C语言(四)

    文章目录 前言 一,static关键字 二,#define 定义常量和宏 三,初识指针 总结 前言 本节主要记录初识C语言第四节内容. 内容包括:static关键字------#define 定义常量 ...

  7. C/C++ 一段代码区分数组指针|指针数组|函数指针|函数指针数组

    1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<windows.h> 4 /* 举列子说明什么是函数指针 * ...

  8. C语言指针 — 函数指针

    文章目录 前言 一.函数指针地址 二.使用函数指针 2.1 套娃 函数指针的用途(初始版计算器) 函数指针数组 遍历函数数组 函数指针数组(版) 指向函数指针数组 的指针 回调函数 前言 函数指针 - ...

  9. 指向函数的指针 ------ 函数指针(function pointer)

    函数具有可赋值给指针的物理内存地址,一个函数的函数名就是一个指针,它指向函数的代码.一个函数的地址是该函数的进入点,也是调用函数的地址.函数的调用可以通过函数名,也可以通过指向函数的指针来调用.函数指 ...

  10. C 温故知新 之 指针:函数指针变量、指针型函数

    猛一看还真有点糊糊:注意区别: 1.函数型指针:指函数返回值的类型.    指针型函数:返回值是一个指针(即地址)   2.int(*p)()和int *p() 是一样吗?为什么?  int (*p) ...

最新文章

  1. 使用VS2005进行代码覆盖率分析
  2. 百联OJ:2723:不吉利日期
  3. 学习笔记(08):MySQL数据库运维与管理-03-用户权限回收
  4. 互联网薪资最新出炉,收藏了
  5. 阿里巴巴开源技术汇总:115个软件(五)
  6. [Windows Server 2012] SQL Server 备份和还原方法
  7. (转) hash 函数及其重要性
  8. MT4缠论公式指标(缠中狩猎外汇MT4缠论分笔分段中枢公式指标)
  9. 2021年5月国产数据库大事记-墨天轮
  10. ThoughtWorks.QRCode功能齐全的二维码开发工具
  11. laravel admin里百度编辑器自定义路径和文件名
  12. 台式计算机总是重启,台式电脑总是自动重启,查不出问题!
  13. 《捷哥浅谈Drupal》第三弹之Drupal 7基本功能概述
  14. 计算机机房灭火器种类,常见灭火器的种类、适用范围以及使用方法
  15. android和iOS平台的崩溃捕获和收集
  16. 入侵防御(IPS)技术
  17. 55-将单链表原地逆置(三种方法)
  18. 线上宠物销售系统的设计与实现
  19. 在matlab中生成m序列
  20. 少儿编程scratch课程-海底世界

热门文章

  1. oracle里的or 短路么,Oracle CASE短路不能分组工作
  2. go替代python运维_粗读web框架之go gin和python django
  3. 机器学习 什么是Cross Entropy 交叉熵
  4. 浏览器插件 如何方便查看md文件内容 markdown
  5. C++ 传递指针给函数
  6. gradle错误 dependency.systemPath‘ for com.alibaba:jconsole:jar must specify an absolute path
  7. java并发编程(10)-- 线程池 底层原理
  8. 中原工学院计算机网络,计算机网络 考试重点 中原工学院.doc
  9. python语法学习第一天--变量、运算符、数据类型
  10. php imagick下载,PHP安装imagemagick扩展imagick