zoukankan      html  css  js  c++  java
  • C语言-数组与指针 字符与字符串

    1 字符与字符串:char c='a'而不能写出char c="a" //字符变量用单引号'',而字符串用双引号。

    2 字符数组与字符指针的初始化:

      char s[10]={0}, *p

         strcpy(s,"hello word ");或者p="hello word ";

         而不能用s="hello word "y因s数组名表示数组的首地址是个常量。

      字符数组的0初始化:

              方法1:char s[10]={0};

              方法2: memset(s,0,10);

    方法3: for循环中初始化:

     int i,s[10],*p;       或者    int i,s[10],*p;  

     p=s                               for(p=a;p<a+10;p++)

    for(i=0;i<10;i++)               scanf("%d",p);

    scanf(:%d”,p++);

    而不能:

    int i,a[10];

    for (i=0;i<10;i++)

    scanf("%d",a++);//数组的首地址是不能改变的。

    4字符数组 字符指针 字符串 strlen() sizeof

    4.1字符数组 :char a[]="string"或者={‘s','t','r','i','n','g'}

    4.2字符串:系统遇到字符串都会在末尾加上结束符“”

    4.3 strlen(char *str):计算遇到“"之前的字符串的长度的函数,参数必须是字符串,计算的结果不包括结束符“",因此计算的是字符串中字符的个数。

    4.4 sizeof():计算常量或变量存储类型的字节数,它是宏计算符不是函数。

    4.5 字符指针:char *s  指针通常为4个字节

    所以 char* ss = "0123456789";
    sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针
    sizeof(*ss) 结果 1 ===》*ss是第一个字符,字符占1个字节

    char ss[] = "0123456789";
    sizeof(ss) 结果 11 ===》ss是数组,计算到位置,因此是10+1
    sizeof(*ss) 结果 1 ===》*ss是第一个字符

    char ss[100] = "0123456789";
    sizeof(ss) 结果是100 ===》ss表示在内存中的大小 100×1
    strlen(ss) 结果是10 ===》strlen是个函数内部实现是用一个循环计算到为止之前,不包括结束符

    int ss[100] = "0123456789";
    sizeof(ss) 结果 400 ===》ss表示再内存中的大小 100×4,32位机种int整形数据占4个字节
    strlen(ss) 错误 ===》strlen的参数只能是char* 且必须是以''''结尾的

    char q[]="abc";
    char p[]="a ";
    sizeof(q),sizeof(p),strlen(q),strlen(p);
    结果是 4 3 3 2    

  • 相关阅读:
    Hibernate学习笔记
    Oracle12c 在windonServer2012中安装的步骤
    提升tomcat服务器性能的七条经验
    zyUpload---照片上传并显示效果
    js的隐含参数(arguments,callee,caller)使用方法
    js中callback.call()和callback()的区别
    理解javascript中的回调函数(callback)
    Spring MVC 流程图
    JDBC在springMvc等框架中使用的方式
    为IE8添加EventListener系列方法支持
  • 原文地址:https://www.cnblogs.com/jieruishu/p/3877665.html
Copyright © 2011-2022 走看看