C语言基础11

函数指针的定义:

函数类型 (标识符 指针变量名)(形参列表)

void  printHello( );

void printHello( ){

  printf("hello world!!! " );

}

main函数中:

//创建函数指针,同时赋值空

int (*p)() = NULL;

p = printHello  // 将函数名称 赋值给函数指针,相当于函数的入口赋值给一个内存地址.

p( );  // 此时函数指针p就可以像函数名一样调用. 就可以理解为p 于 函数名是"相等".

实用1:

int sumValue(int a , int b){

  return a + b;

}

int subValue(int a , int b ){

  return a - b;

}

main函数:

//创建一个函数指针变量

int (*p2)(int , int);

// char str[] ={0};

// 在堆空间开辟一个 1* 20 字节的空间,同时str指向控制台输入的字符数组.

char *str = malloc( sizeof(char) * 20);

printf("Please enter some thing :");

scanf("%s" , str);

if(strcmp(str, "sub") == 0){

  p = subValue( );

}else if( strcmp(str , "sum") == 0){

  p = sumValue( );

}else {

  printf("you are wrong !! ");

}

int x = 20, y = 45;

int result = p( x, y );

printf("%d", result );

free( str );

str = NULL;

时间: 2024-11-09 03:09:16

C语言基础11的相关文章

JavaScript语言基础11

JavaScript中的字符间的比较. 在开始学习接下来的内容时,我们先来看下alert()这个函数,它是一个消息提示框. OK,接下来正式介绍代码: <HTML> <HEAD> <TITLE>Hello World</TITLE> </HEAD> <BODY BGCOLOR="WHITE"> <SCRIPT Language="JavaScript" TYPE="text/ja

Java入门 - 语言基础 - 11.switch_case

原文地址:http://www.work100.net/training/java-switch-case.html更多教程:光束云 - 免费课程 switch_case 序号 文内章节 视频 1 概述 - 请参照如上章节导航进行阅读 1.概述 switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch case 语句语法格式如下: switch(expression){ case value : //语句 break; //可选 case va

C#语言基础-11 字典/集/有序集合/不变的集合

字典 Dictionary<TKey,TValue> 字典允许按照某个键来访问元素.字典也称为映射或散列表.  字典的主要特性是能根据键快速查找值.添加到字典中的键会转换为一个散列,利用散列创建一个数字,它将索引和值关联起来. Person p1 = new Person(); p1.Age = 1; Dictionary<string,Person> dic = new Dictionary<string, Person>(); Dictionary<strin

Lua语言基础汇总(11) -- Lua中的模块与包

前言 从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包.require用于使用模块,module用于创建模块.简单的说,一个模块就是一个程序库,可以通过require来加载.然后便得到了一个全局变量,表示一个table.这个table就像是一个命名空间,其内容就是模块中导出的所有东西,比如函数和常量,一个符合规范的模块还应使require返回这个table.现在就来具体的总结一下require和module这两个函数. require函

02 java语言基础

常量:字面值常量(字符串,字符,整数,小数,布尔,null),自定义常量,''这个不是字符常量,""这个是字符串常量 进制: 02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 字符串常量 用双引号括起来的内容 整数常量 所有整数 小数常量 所有小数 字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号 布尔常量 较为特

【quick-cocos2d-x】Lua 语言基础

版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速便捷了许多,下文只是lua这门语言的一个基础知识点,没有涵盖整个Lua的内容,但是作为对lua入门的初步了解还是可以的,由于内容精简了不少,所以语言上可能会有点跳跃,但是问题不大. 要了解一门语言,首先要了解的是语言的标识符.保留字.常量和变量,命名规范和注释以及数据类型等.然后是运算符.控制流语句

C#语言基础知识(2):C#中多态

我的理解是:通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态. 1: OverRide 实现多态 1 public class Animal 2 { 3 public virtual void Eat() 4 { 5 Console.WriteLine("Animal eat"); 6 } 7 } 8 public class Dog : Animal 9 { 10 public override void Eat() 11 { 12 Console.WriteLin

03 java语言基础逻辑运算符

03.01_Java语言基础(逻辑运算符的基本用法)(掌握) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一般用于连接boolean类型的表达式或者值. b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子. 算术表达式:a + b 比较表达式:a == b(条件表达式) C:结论: &逻辑与:有false则false. |逻辑或:有true则true. ^逻辑异或:相同为false,不同

语言基础:C#输入输出与数据类型及其转换

今天学习了C#的定义及特点,Visual Studio.Net的集成开发环境和C#语言基础. C#语言基础资料——输入输出与数据类型及其转换 函数的四要素:名称,输入,输出,加工 输出 Console.Write("这是我的第一个程序");//不换行,(不要漏掉:)(所有的符号全都用英文)(方法,也就是函数后面必须跟括号) Console.WriteLine("第二句");//输出这句后会换行 “这是我的第一个程序”后不换行,紧跟“第二句”,“第二句”换行,光标进入