数组的遍历(指针)
迭代器([begin,end]):通过前一个元素找到了下一个元素(++),基于数组的有序性
递归调用逆序:
迭代器选择排序:
迭代器冒泡排序:
迭代器插入排序:
快排(qsort):
先设置基准数(begin),从右往左找,第一个比基准数小的数,从左往右找,第一个比基准数大的数,互换两个数,重复刚才的操作,直到p ,q 相遇,内层循环结束后,将p,q所指的元素与基准数交换
两个指针间不能进行加法,乘除求余运算
两个指针间减法(基类型必须一致),结果为int,其值为两个之间相差n个基类型
字符型指针
const :无法通过直接访问改变,但可以根据间接访问改变值
const int *p : 在指针变量前加const,修饰的是 *p(i),无法通过该指针修改它所指向的变量( i )(即只能读,不能写)
“Hello”为匿名数组,%p输出地址值为首地址H的地址
“Hello”在字符串常量区,只能读,不能写,*p无法修改
万能指针:void *p;(降低程序耦合性)
万能指针不能进行指针运算
内存拷贝:
在大字符串里找子字符串:
int subStr(const char *s, const char *sub)
返回指针值的函数
返回值为指针的函数,不能返回局部变量(动态生存区,已被销毁)
函数返回的地址值为当时传入的
malloc:
分配动态内存,参数为,需要的内存空间大小的字节,申请的字节一定是连续的,返回需要空间的首字节地址(申请的空间在堆区)
如果申请成功,返回空间的首字节地址,申请失败,返回一个空指针
需要手动归还,归还与申请的首地址要相同,释放结束后,置于空指针(NULL)
未销毁,称为内存泄漏
内存扩容:
-----------------------
嵌入式学习第14天,今天学习了字符型指针以及迭代器的使用,指针的使用进度又进一步,明天将迎来最难的指针部分的挑战,必须打起十二分的精神来,加油加油!
标签:返回,const,字节,迭代,嵌入式,day14,地址,指针 From: https://blog.csdn.net/weixin_70572180/article/details/140805595