今天主要学习了C语言中的指针,其基本形式为:基类型 * 指针变量名
一,指针
如:int *p float *p
int i ; (间接访问) int i; (直接访问)
int *p = &i <==========> i = 100;
*p= 100
指针的用途:为了王被调函数中传参
野指针:指的是最技术的地址,用指针前要搞清楚指针指的是谁
1.通过指针变量中的值到内存空间中定位
2.从定位处开始,向后平移sizeof(基类型)
3.将偏移好的那部分内存空间当作是一个基类型变量来看
对指针类型 + 1 ,与其基类型有关,指针 + 1 = sizeof( )个,+ n = n * sizeof( )个字节
a [ i ] <==> *(a + i)
p == NULL *p = 1000; 将会引发编译报错。原因: 指针变量不可访问。
二,练习题
1.三个数内找最大值和最小值
被调函数1:
主函数
2.指针a指针b互换(在选择排序 冒泡排序中可用)
被调函数:
主函数
3.用指针进行累加
4.*& &* 的一些替换
5.用指针找最大值
被调函数
主函数
6.逆序打印
被调函数1
被调函数2.数组遍历函数
主函数
7.二分法查找元素
被调函数1.选择排序函数
注意,198行用到了交换函数,前面提到过
被调函数2.用指针进行二分法
被调函数3;打印排列后的数组
主函数
7.冒泡排序
与选择排序相似 就不展开了
8.选择排序
9.不用循环实现数组的遍历
10.更改地址内内容
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、今天的学习就到这了,明天见