zoukankan      html  css  js  c++  java
  • apue 20130317

    Gets(buf);buf[i]  for (;buf;)

     

    While(buf[i]) i++;字符的ASCII值做判断

    For (;buf[i];);  能放在后边空语句

    For (i=0;buf[i]==buf0[i];i++);空语句

     

    Ch=getchar();

    Gets(buf);

     

    For (i=0;buf[i];i++)

    最后什么条件结束

    Gets(buf1);

    For (i=0;buf2[i]=buf1[i];i++)

    退出条件

    Return ;exit(),_exit();进程

    Strcpy

    Strcat

    For (i=0;buf1[i];i++)

    For (j=0;buf1[i]=buf2[j];j++,i++)

     

    Strstr

    Gets(buf1);

    Gets(buf2);

    字符串的处理函数

    重复使用buf

    Bzero  memset  atoi   sprintf

    Strlen strcpy  strcat  strcmp  strchr  strstr

    Strncpy  strncmp  n的多

    Memcpy memcmp  内存  

    20个数组左右

    Man string.h帮助文件档

     

    为什么使用指针

    指针:变量用来保存地址

    小端pc

    大端网络

    读的顺序

     

    指针保存边号,每个地址对应一个字符

    编号永远不会变,数据变

     

    定义:数据类型*指针类型

    Int *p;  p,q本身没有区别

    Char *q;

    1,*p,*q

    2 p+1 q+1  指针也在内存中占地址

    3 p-q=3 3个数据单元

    还是指针类型3个字符char * 3个数

    4指针比较p>q 哪能个前哪个后没有p+q无意义没有乘除

     

     

    Int a=10,b=9,c=0,tmp=0;

    Int *pa=&a,*pb=&b,*pc=&c,*ptmp=&tmp;

    C=*pa+*pb;

    *pa=c-*pa;

    *pb=*pa+*pb;

    *pc=*pb;

    Ptmp=pc;

    *ptmp=*pb+*pa;

    Ptmp=pb;

    Pa=pb;

    *ptmp\*pa-*pc;

    *pb=*pa+*pb;

    A b c tmp

     

     

    0x12 a 

    0x 23 b

    0x 34 c

    0x 45 tmp

       Pa 0x12

    Pb0x23

    Pc0x34

    Ptmp0x45

     

     

    Qt

     

    1 tat -xvzf qt

    2 cd qt 

    3./configure

    4.O

    5.Yes

    6.Make

    7.Make install

     

    指针与数组:减少代码量多了操作数据方法

    Char *p=buf strlen

    Gets(buf);

    While(*p)  p++;

    P-buf  地址差

    相距多少个数据单元

    把数组练习用指针

     

    编写mystrcpy使用指针操作

    编写mystr实现字符串的反转

     

    While(*p)  p++;

    Len=p-buf;

    有乱码'\0'

    Q=q-1;

    While(p<q)

    指针写字符串

    Char buf[]="abcdefg";

    Char *str="abcdefg";常量的起始地址

    Sizeof(buf); 7

    Sizeof(str);   4

    Sizeof(buf);  6

    Sizeof(str);  6

    Buf[0]='b';

    *str='b';段错误

    段错误

    操作非法数据,除了合法数据之外的数据

    合法数据:程序已经定义的数据

    Char *p;

    Gets(p);四字节

    Char buf[100];

     

    多级指针

    Char *******p;

    Char ch='a';

    Char *p;

    P=&a;

    二级指针:1作为函数的参数

    2一级指针+malloc=指针数组

    Myshell

    1 myshell ls

    2  ls -l

    3  ls -l -a

    4  容错

    5 cd   /tmp

    6  ls -l >abc

    7  ls-l | grep "abc"

     

    换指针  换内容

     

    从键盘上输入5个字符串,打印出最长的字符串

    从键盘上输入5个字符串,按字符串大小升序输出

     

     

     

     

  • 相关阅读:
    谷歌开发调试工具
    由form表单来说说前后台数据之间的交互
    ajax的post和get请求的使用
    css各属性的理解
    Http Servlet详解及学习地址
    表单详细解释
    JS正则表达式
    jQuery-AJAX简介
    POJ1008 Maya Calendar
    关于Code Blocks无编译器版本及VC6.0插入、打开报错
  • 原文地址:https://www.cnblogs.com/wangjingyuwhy/p/2965067.html
Copyright © 2011-2022 走看看