- 浏览: 38802 次
- 性别:
- 来自: 上海
最新评论
1. typedef (int *) pInt;
2.typedef pInt (int *);
对于pInt a,b;
第一种:int *a;int *b;
第二种: int*a,b; //b为int 型。
声明函数指针类型:
typedef int (*PF) (const char*,const char*);
语法:
1。typedef<返回类型>(*<函数类型名>)(参数表)
2.。typedef<返回类型>(<类名>::*<函数类型名>)(参数表)
调用:
PF(str1,str2);
(*PF)(str1,str2);
两者等效;(*PF)返回的是函数名。
PF是指针。
例子:
有一段程序存储在起始地址为0的一段内存上,如果我们想要调用这段程序,请问该如何去做?
答案:(*(void(*)())0)()
注意点:类型的转换,类型一定要加括号
2.typedef pInt (int *);
对于pInt a,b;
第一种:int *a;int *b;
第二种: int*a,b; //b为int 型。
声明函数指针类型:
typedef int (*PF) (const char*,const char*);
语法:
1。typedef<返回类型>(*<函数类型名>)(参数表)
2.。typedef<返回类型>(<类名>::*<函数类型名>)(参数表)
调用:
PF(str1,str2);
(*PF)(str1,str2);
两者等效;(*PF)返回的是函数名。
PF是指针。
例子:
有一段程序存储在起始地址为0的一段内存上,如果我们想要调用这段程序,请问该如何去做?
答案:(*(void(*)())0)()
注意点:类型的转换,类型一定要加括号
发表评论
-
指针 多维数组
2012-06-05 16:12 721这篇文章写的很好 http://www.cnblogs.com ... -
pImp
2011-11-08 17:24 865http://www.cnblogs.com/JulyZhan ... -
关于构造函数,析构函数,explicit等内容
2011-11-01 17:04 1221一.编译器会为我们做什 ... -
C语言标准
2011-10-21 12:11 12211.K&R C 1978年,丹尼斯·里奇(Dennis ... -
对话框工厂
2011-10-14 18:00 6711.对于工厂我的理解: 良好的封装性。使用和创建,初始化分开。 ... -
函数指针实现回掉函数
2011-10-14 17:47 968用法: 头文件中声明: DECL_LINK( Paintin ... -
const的理解和应用
2011-10-14 16:52 1326const的理解和应用 一.理解 const是一种语义上的约束 ... -
空指针的判断
2011-10-11 17:43 928请看NULL的定义: #if !defined(__cp ... -
GUN C 和 ANSI C的几个区别
2011-10-11 10:52 1103http://hi.baidu.com/deep_pro/bl ... -
浮点数的比较
2011-10-11 10:48 1241一浮点数的知识 1.首先浮点数不用补码表示,只有int型才用补 ... -
关于字符串倒转
2011-10-10 20:25 788有纯倒转,也有按单词为单位的。想做个总结 #inclu ... -
C数组和指针的区别
2011-10-10 19:25 723看《C专家编程》总结的的。 首先是个经典的例子: 一个文件定义 ... -
不用中间变量交换数据
2011-10-10 14:42 666那种加加减减的方法其实不对。因为缩小了数据范围。 a1=a1+ ... -
C++模板
2011-10-08 15:52 649template是关键字,template ... -
Quick Sort(快速排序)
2011-10-08 11:20 696Quick Sort算法描述如下: 假设S代表将被处理的序列 ... -
约瑟夫环的解答
2011-10-07 22:48 647http://blog.csdn.net/kittyjie/a ... -
Linux判断大小尾数(big-endian,little-endian)的方法
2011-10-07 22:12 1509static union { char c[4]; u ... -
c++基本文件操作
2011-09-30 00:28 780#include<iostream> #incl ... -
关于文件操作的头文件,类
2011-09-27 14:11 1097C++ 可以看这个 http://www.cplusplus. ... -
关于回车,换行,EOF
2011-09-26 17:41 2802回车换行: http://www.cnblogs.com/fa ...
相关推荐
当`typedef`与函数指针结合时,可以创建自定义的函数类型,比如回调函数或特定操作的接口。例如,定义一个处理字符串的回调函数类型: ```c typedef void (*string_processor)(char* str); ``` 然后,我们可以在...
对于函数指针类型,`typedef`同样能够简化定义和使用。 **示例:** ```c typedef int (*PF)(const char *, const char *); // PF类型定义 ``` 这里的`PF`代表了一个函数指针类型,该函数接受两个`const char *`...
`typedef`也可以用来定义指针、数组和枚举类型的别名。例如: ```c // 定义一个整型数组的别名 typedef int num[100]; num n; // n现在是一个整型数组 // 定义一个字符指针的别名 typedef char *string; string p,...
接下来,让我们讨论一个非常重要的问题:typedef 与结构体结合使用。假设我们使用以下代码定义一个结构体时,编译器报错,为什么呢? ```c typedef struct tagNode{ char *pItem; pNode pNext; } *pNode; ``` 答案...
typedef与结构体(struct)结合使用时可以定义一个新的结构类型,并为这个结构体取一个新名字。这种方式可以让结构体变量的声明更加简洁。例如: ```c typedef struct tagMyStruct { int iNum; long lLength; } ...
typedef还可以隐藏笨拙且难以理解的语法,例如指针和数组。例如: ```c typedef char Line[81]; Line text, secondline; ``` 这将创建一个char类型的数组,大小为81个元素,并且可以使用Line类型来声明变量。 3. ...
在本文中,我们将详细解释 typedef struct 的用法和原理,并讨论它与 struct 的区别。 1. typedef 的基本概念 typedef 是 C 语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型...
结合函数指针和指针函数,我们可以构建出复杂而灵活的程序结构。例如,在设计算法库时,我们可以定义一系列函数,每个函数代表一种特定的排序算法,然后使用函数指针选择在运行时执行哪个算法。这允许我们根据输入...
为了简化函数指针的定义和使用,可以采用`typedef`关键字来创建函数指针类型别名。例如: ```cpp typedef int(*fp)(int); fp fpi; fpi = test; ``` 这样,`fpi`就成为了一个指向接受整型参数并返回整型值的函数的...
在C/C++编程中,指针和函数的结合使用是实现灵活编程的关键之一。本文将探讨四种使用指针与函数相结合的功能:回调函数、函数指针作为函数返回值、指针函数以及函数指针数组。 1. **回调函数** 回调函数是一种通过...
当`typedef`与`struct`结合使用时,它会创建一个结构体类型的别名,使得之后在代码中可以直接使用这个别名,而无需每次都使用`struct`关键字: ```c typedef struct { char name[20]; int age; float score; } ...
总之,`typedef` 和 `struct` 的结合使用有助于创建清晰的代码,提高代码可读性,减少类型名称的冗长,同时避免了`#define`可能导致的一些问题。在编写 C++ 代码时,掌握它们的正确使用方式是非常重要的。
6. **结合存储类关键字**:`typedef` 可以与 `auto`, `extern`, `mutable`, `static` 等存储类关键字一起使用,以控制变量的作用域和生命周期。例如,`typedef static int LocalInt;` 创建了一个只在当前作用域内...
当然,在实际编程中,为了避免过多地使用复杂的指针声明,通常会采用`typedef`等语法糖来简化代码的编写和阅读。例如,对于最后一个示例中的声明,我们可以定义一个类型别名: ```c typedef int (*PARA)[5]; ...
在“vc++类函数指针的应用”这个主题中,我们将深入探讨如何在VC++7及以上版本中使用类函数指针,并结合模拟反射的概念,以适应可配置化和架构设计的需求。 首先,我们需要了解类函数指针的基本用法。与普通函数...
字符串与指针的结合,使得字符串处理成为可能。 指向指针的指针(指针的指针)是C语言的一个高级特性,它可以用来存储其他指针的地址。这在处理动态分配的二维数组或创建复杂的结构体时非常有用。例如,`int **pptr...
数据结构是计算机科学中的核心课程,它探讨了如何有效地存储和组织数据,以便进行高效的访问和操作。...在实践中不断练习,将理论知识与编程技能相结合,对于提升你在数据结构和C语言方面的专业能力至关重要。
指针与函数的结合使得函数能够接收和返回其他函数的地址,实现函数指针。这在实现回调函数、动态调度以及一些高级数据结构(如链表、树等)时非常有用。例如,可以定义一个函数指针类型`typedef int (*func_ptr)(int...
C++中的动态内存分配常与指针结合使用。`new`操作符用于动态分配内存,返回的是对象的地址,可以赋值给指针。而`delete`则用于释放由`new`分配的内存。例如: ```cpp int *ptr = new int; // 分配一个整数的空间 *...