当前位置: 首页 > news >正文

东台专业做网站的公司百度秒收录软件工具

东台专业做网站的公司,百度秒收录软件工具,网站建设的费用和预算,做京东网站采购的工作内容指针操作 一维 字符数组 1. 字符型数组 --- 存放字符串的 char s[] "hello"; [h ] <---0x1000 [e ] [l ] [l ] [o ] [\0] //谁能这块空间的地址 --- 数组名 s --->怎么能保存s所代表的地址值 //s数组名 --- 数组首元素的地址 &s[0] --->地…

指针操作 一维 字符数组 
1. 字符型数组 --- 存放字符串的
char s[] = "hello";

['h' ] <---0x1000
['e' ]
['l' ]
['l' ]
['o' ]
['\0']

//谁能这块空间的地址 --- 数组名 
s --->怎么能保存s所代表的地址值 
     //s数组名 --- 数组首元素的地址 &s[0]
   --->地址的类型 
       char * 
       
char *p = s; //指针变量p 指向了 s (数组)

int puts(const char *s);


注意:
   char s[] = "hello"; //s的空间开在 栈上 
   char *s1 = "hello"; //s1的空间开在栈上,但是s1指向的"字符串常量"
                       //存放"字符串常量区"
                       
                       
  *s1 = *s1 - 32; //不能做 ? 原因是 s1 指向的数据是在 字符串常量区
                  //常量区的数据不能修改 
                  
  const int a = 10; //a成了只读变量 
  
  
  const char * s1 = "hello";   //表示 将 *s1 限定为只读
                               //如果,不希望修改 *s1 的数据
                               //一般 建议加上const 
                               
  char * const s1 = "hello";  //const 离谁近,就是限定谁的 
  
  char const *s1 = "hello"; //此时 还是 *s1 不能被修改  
  int *p; //int 代表基类型 
          //p 本身   
  char const * const s1 = "hello"; // *s1 和 s1 本身都不能被修改 
  
  
总结:
  1.const 离谁近,就限定谁 
  2.const 修饰的变量,为只读变量 //变量还是变量 只是成了只读的 
  
  
 
实现:
int Puts(char *s)
{
   *s = 'a'; //编译时,不报错 
}
int Puts(const char *s)
{
   *s = 'a'; //编译时,就会报错 
}

const char *s // *s 这种方式修改不了数据 

形参设计:
什么时候需要加const 
1.如果函数内部本身不需要通过*s 修改外面的数据 
此时,建议 统统加上const 

好处:
   1.可以将 错误提前 到 编译时 发现 
   2.提高了参数的适用性 
     可以接收数组名
     也可以接收 字符串常量  //const char * 
     

练习:
   strlen
   
   int Strlen(const char *s) 
   {
   }
   
   size_t Strlen(const char *s)
   {
   
   }
   
   
练习:
   Strcpy(char *dest,const char *src)
   
   
   
 
      char *Strcpy(char *dest, const char *src)
      { 
            char *ret = dest;
            ...拷贝过程 
            
            return ret; 
      }
      返回值:
          成功 表示的是dest的首地址 
          返回值设计成char * 是为了实现 字符串链式操作 
          

       
      char *strncpy(char *dest, const char *src, size_t n);
      功能 
          将src中的前n个字节拷贝到 dest中 
      注意:
          src 长度 > n     此时将前n个字节拷过去,此时dest也不会拷过去'\0'
          src 长度 < n     此时将src拷贝完成后,继续拷贝(添加的是'\0')直到完成了n次拷贝

     char * Strncpy(char *dest,const char *src, size_t n)
     {
        //这个函数,拷贝过程,n来控制 
        
     }     

        
   char src[] = "hello";
   strncpy(dest,src,10); //
   
练习:
   strcat 
   
   
       char *strcat(char *dest, const char *src);
       功能:
           拼接字符串 
           
       实现: //返回值 表示的是dest 存放字符串的空间的首地址 
        char *Strcat(char *dest, const char *src)
        {  
            char *ret =dest;
            //1.先定位到 dest 的 '\0'的位置 
            //2.从dest的 '\0'位置开始,拷贝字符串 
            //3.最终dest中 需要有 '\0'结束标志 
            return ret;
        }
       
       char *strncat(char *dest, const char *src, size_t n)
       功能:
            将 src中的前 n 个字符拷贝过去 
        注意:
           始终保证 dest中是一个字符串 ('\0')结束标志的 
           //使用时,需要确保dest空间足够 
           
           
      char * Strncat (char *dest, const char *src, size_t n)
      {
             char *ret =dest;
            //1.先定位到 dest 的 '\0'的位置 
            //2.从dest的 '\0'位置开始,拷贝字符串  //受到n的控制  
            //3.最终dest中 需要有 '\0'结束标志  
            return ret;
      }
      
-----------------------------------------
  Strcmp(const char *s1,const char *s2)
   

  int Strcmp(const char *s1, const char *s2)
  {
     功能:
        从左到右,逐个字符比较 
        
        遇到不同的字符时结束 或者 遇到 '\0'
        
        返回 最终不同的字符的差值 
  }
  

  int strncmp(const char *s1, const char *s2, size_t n);
  
  
  strncmp("hello","helloa",3); //
  
  
   int Strncmp(const char *s1, const char *s2, size_t n)
   {
       功能:
        从左到右,逐个字符比较 
        
        遇到不同的字符时结束 或者 遇到 '\0'  n个比完也停
        
        返回 最终不同的字符的差值 
      
   }
----------------------------------------------------------
总结:
   指针操作一维数组 
   
   思路,
   通过指针变量 获得数组所在空间的地址 
   
   int a[10];
   int *p = a;
   
   *(p+i) <=> a[i]


   函数实现的 

  printArray(int *a,int len)
  {
     
  }  
  
  Puts(const char *s)
  {
     
  }
  
 
 
---------------------------
指针 操作 二维数组 
int a[3][4] = {1,2,3,4,5,6,7,8,9};

a 还是首元素的地址 
  a[0]
  a[0][0]

int[4] a[3];  //a数组名 -- &a[0] 

a<=>&a[0] //值的角度 
    a[0] //数据类型 int[4] 
    &a[0] //int[4] * 指针类型 
          //标准C语法: int (*)[4]
          
定义变量:
int (*p)[4]; //数组指针
             //基类型 int[4]这种类型 ---数组类型 
                          
*p //等价与 a[0] 
   //相当于是 int[4] 这个一维数组的数组名 
   
*(*(p+0)+0) <=> a[0][0]

*(*(p+i)+j) <=> a[i][j]
 

http://www.15wanjia.com/news/51413.html

相关文章:

  • 做旅游网站的项目背景网站建设公司地址在哪
  • 北京公司网站建设推荐chatgpt入口
  • 建网站的软件seo百度站长工具
  • 新乡住房与城乡建设厅网站痘痘该如何去除效果好
  • 正规网站建设代理电子商务网站有哪些?
  • 全国备案网站数量免费模式营销案例
  • 做网站还需要买服务器么人力资源管理师
  • 网站服务器解决方案游戏挂机赚钱一小时20
  • 四川省建筑人才网个人中心烟台seo
  • 手机网站 pc网站模板网站产品推广
  • 做微信的微网站软文营销软文推广
  • 做外贸要看哪些网站福州seo代理商
  • 成都网站建设报价推广普通话宣传周
  • wordpress域名设置方法霸屏seo服务
  • 网站开发通常叫什么部门宁波seo推广费用
  • 东莞做网站seo今日小说排行榜百度搜索风云榜
  • 怎样帮别人做网站建设企业营销型网站
  • 做网站3年厦门百度开户
  • 提升访问境外网站速度网络营销的目的是
  • 做条形码哪个网站比较好网站网页的优化方法
  • 合肥网站建设-中国互联google国际版
  • 北京专业网站建设公司排名北京seo推广
  • 装修公司加盟哪家最好seo合作
  • 无锡市住房城乡建设委网站google chrome官网入口
  • 建设银行个人查询余额下载安全优化大师
  • 如何用html做网站头像关键词查询网址
  • 没有网站怎样做外贸腾讯3大外包公司
  • 网站打不开原因检测申请域名
  • 杭州培训网站建设网站制作公司有哪些
  • 网站建设ppt网络营销工具与方法