PoEdu - C提高班 【Po学校】-Lesson08 -指针专题(二):数组指针&指针数组&函数指针- 课堂笔记...

1--> 数组指针

1.0.0  数组指针指向的是一个数组类型,其格式为:元素类型 + 数组大小:申明  typedef int(INT10)[10];那么  INT10就是一个数组。

1.0.1  示例:int(*parray)[10] = &array;

 

 2-->  指针数组

2.0  指针数组  里面全部是一根根的指针

3-->    字符串和指针的关系

3.0.1  字符串中几个容易犯错的示例

 

 指针数组的参数传递

 指针数组作为参数传递时:

指针数组的类型:

 4--> main 函数的详解

 

 

5-->  函数的类型

5.0.0  每一个函数都会产生一个函数指针,如下图中pFoo就是Foo()函数的指针

 

5.0.1  有一个函数指针,那么就一定有一个函数类型与之匹配。

 

5.0.2  函数类型由几个部分组成:  返回值  +  参数列表  (参数列表中包含: 参数类型,参数个数,参数顺序)

 

5.0.3  上图中函数的类型是 int(*pFoo)(int,int) = Foo;

5.0.4  再看一个函数的类型

5.0.5  上图中,Foo与下一行中的&Foo2是一样的。

5.0.6  另外一种用typedef申明和定义函数类型的方法:

 5.0.7  为什么要使用函数类型,要如此定义呢,是为了实现“回调函数”。以后在windows编程中,会大量的使用回调函数。

5.0.8  函数的指针,就是指向函数类型的指针。

6-->   复习小节

7-->   作业

//float Foo(int num, float num); //指针类型
// 答:指针类型为 float (*)(int,int) 如示例 float (*pFoo)(int,int)= Foo;
//
//int (*parray)[10] //数组原型
// 答:数组原型为 int array[10]= {0};
//
//char*(*parray)[10] //数组原型
// 答:char *array[10] = {"I","love","Mark"};
//
//int array[10][20] //数组类型
// 答:数组类型为 int (name)[10][20]
//
//char *array[10] //数组类型
// 答:数组类型为 char *(name)[10]
//
//void Foo(void) //指针类型
// 答:指针类型为 void(*Foo)()
//
//int*(Foo)() //函数原型
// 答:函数原型为 int* Foo();
//
//void*(Foo)(int*,void*) //函数原型
// 答:函数原形为 void* Foo(int* num, void* v);

转载于:https://www.cnblogs.com/bing-z/p/6406480.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值