指针第二章节

一、快速排序

1.定义基准数,一般为指向begin

2.从右向左找第一个比基准数小的数

3.从左向右找第一个比基准数大的数

4.此时互换这两个数

二、迭代器([begin,end]):通过前一个元素找到下一个元素(++),原理是基于数组有序性

迭代冒泡排序: 

三、const的用法

1.const int i ,无法通过直接访问改变其值,但能通过间接访问修改

2.const int *p,无法通过间接访问来修改i值

3.int const *p,无法修改p所指向的地址

四、字符串数组   

1.匿名数组:"Hello"  该数组没有名字,第一个字母即代表首元素

2.strcpy与strncpy:strncpy本质上也是拷贝,只不过在传参时多传一个int n,即拷贝多少个字节数

3.void *p万能指针:能接受任何类型指针的地址(不能进行指针运算)

   应用:主要是为了解决不同的基类型,来实现数据接收

4.内存拷贝: memcpy(void *dest,const void *rsc,size_t n);

   从内存某一个地方拷贝到新的地方并且连续

5.strcmp与strncmp:与strncpy相似,n代表所比较的字节数

6.特定字符串输出: 

for(i = 0;i < strlen(s1) - strlen(s2);++i)
{
    if(strncmp(s1 + i,s2,strlen(s2)) == 0)
    {
        return 1;
    }
}
return -1;

7.指针函数:返回值为指针的函数(不建议使用局部变量,用完即销毁,最后所指向的是野指针)

  解决方法:1.全局变量

                    2.static将动态生存期变为静态生存期

8.malloc申请空间

     在堆区上申请空间(手动)

     形式为:void (size_t size) ;用完必须释放空间free

    其返回值是申请空间的元素的首地址

     malloc 分配两次空间,其空间不连续

  • 14
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值