指针 操作二维字符型数组
char s [ ] [ 10 ]={"hello","world","china"};
char (*p) [10]=s; ------ p指向二维字符型数组s;
练习:实现一个函数,找出二维数组中能被3整除的数
练习:输入三个字符串,排序输出
char * pstr [3]={"hello","world","china"}; 数组---数组中存放的是各个字符串的地址
地址---存放着地址数据的数组--指针的数组--指针数组
char **q=pstr; q二级指针
练习:找出字符串中最大值
练习:实现字符串的逆序
int main ( int argc, const char * argv[ ])
argc 命令行参数的个数
argv 存放命令行参数的 字符串的指针数组
指针+函数:
通过指针的 方式 来调用函数
函数名----代表函数的入口地址
int add(int a,int b)----函数名对应的数据类型
------int (int a,int b)---函数类型
--------代表一类函数
---------返回值int类型
---------带有两个int型的形参变量
说明:
1.可以定义一个函数类型的指针变量,来保存函数的入口地址
2.有了这个指针变量,通过指针变量,进行函数调用
应用:回调函数
回调函数---通过函数指针 调用函数
c语言中,使用了函数指针实现回调
练习:写一个程序实现加,减,乘,除,以回调函数的形式,打印对应的结果
练习:回调函数
总结:
1. 指针 ----概念
-----定义---基类型 *变量名
-----指针的初始化和 赋值------野指针 NULL
------指针引用--- *p 理解间接运算的过程及结果
--------核心用途 -----被修改主调-----使用方法--1.要修改谁,把谁的地址传过去
2.被调函数中,一定要用对应的*p运算
3.传过去的实参地址,一定要对应一块有效的内存空间
2.指针+数组
指针 操作 一维整形数组
指针 操作 一维字符型数组
核心思路:
1.定义一个什么类型的指针变量----参考第2点
2.获得那个位置的地址 ---数组的特点
----数组首元素的地址 &a[0] --就是数组名
指针操作数组元素过程:指针运算
知识点:1.快速排序
2.const
3.void
4.字符串相关的函数
3.指针+二维数组
1.二维数组的本质-----一维数组
2.数组的特点
3.指针类型的定义
4.指针访问数组元素的过程
指针+指针数组
指针+函数