第二周学习笔记

指针:

  1. 指针的加减法运算:指针加减一,是加减一个(int、char…)指针类型。两个指针间不可以进行相加相乘相除取余等运算,否则会出现一个野指针。

*dest = *ch;

dest++;

ch++;

指针+1  相当于指向数组下一个元素  内存地址变化了sizeof(char)

  1. 指针数组:

指针数组内储存的是指针,是特殊的二维数组模型

2、通过数组引用元素的方法:(1)下标法,(2)指针法      (指针操作数组时下标允许时负数)

一级指针加一个偏移量,跳过一个元素;二级指针加偏移量跳过一个数组大小。

3、一级指针的值:*pp

变量的值:**pp

二级变量的值:&p

*ppp=pp=&p

4、字符串去空格

(1)利用辅助空间,定义字符串确定字符样式:将字符串挪到新的字符串——拷贝

(2)用指针指向字符串,辅助指针判断空格向后覆盖,遇到空格向后延。

    char* ftemp = ch; //用来遍历字符串

    char* rtemp = ch; //记录非空格字符串

    while (*ftemp)

        if (*ftemp != ' ')//遇到空格跳过

        {

             *rtemp = *ftemp;

             rtemp++;

        }

        ftemp++;

5、指针作为返回值

while (*str)

    {

        if (*str == ch)

             return str;

        str++;

    }

6、查找字符串:建立3个辅助指针

(1)遍历源字符串指针

(2)记录相同字符串的首地址

(3)读取字符串

若遍历失败,则回滚

7、用指针存储字符串

8、指针作函数参数

9、const修饰指针变量——可以修改指针变量的值,但不可以修改指针变量指向的内存空间的值

10、求字符串出现的次数:用while和do while循环

11、统计字符出现个数:(1)用数组,开辟空间放固定字符,(2)字符直接插入排序

12、指针间接赋值:

(1)建立两个变量,普通变量,指针变量;

(2)建立关系,指针变量=&普通变量;

(3)通过*运算符赋值:*指针变量=值;

字符串处理函数:

拷贝:strcpy  strncpy找字符串/0位置的拷贝操作

字符串比较:strcmp strncmp(比较前n个字符) 比较字符ascll码,相等输出0,不等则为1、-1。

字符串格式化:sprintf(数组名,字符串)  sscanf(数组名,表达式,&地址)

字符串查找:strchr   strstr返回地址,返回值类型为指针

字符串分割:strtok 分割字符串但会破坏源字符串,用/0代替分割

流水灯学习:

制作流水灯的方法:

  1. a[]={0x01…};P0=a[i];i++;~p;(1111 1110;1111 1101……)
  2. 用左循环、右循环运算符 <<;>>
  3. 用循环位移函数实现:

位移函数_crol_与_cror_函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值