• C类型字符串和字符数组的区别


    1、字符串和字符数组的区别,字符数组和普通数组一样,里面的每个元素是一个个的字符,字符串是存在字符数组中的,字符串的结尾处补上了“”截止符。

    定义过字符串后,得到的是字符数组的首元素的指针,在结尾处加入截止符,可以方便的访问字符串中的任何一个元素。
    C类型的字符串是存在字符数组中的,在字符串的结尾处补上"",这个结尾符是用来标志字符串结尾的,它的作用是
    const * p; //p是一个常量指针

    2、数组名和指针的区别

    int a [20];

    int *p =a;

    (1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;所以sizeof(a) = 80;

    (2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量

    (3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址。

    3、数组和链表的优缺点,什么时候使用数组,什么时候使用链表?

    (1)数组在内存中是连续存储的,通过数组下标可以快速访问任何一个元素,其时间复杂度是O(1);链表在内存中不是线性存储的,访问其中任何一个元素都需要从头开始遍历,时间复杂度O(n);

    (2)数组需要事先确定大小,会造成内存浪费,链表则较简单,管理方便;

    (3)数组中进行插入和删除操作复杂,需要移动大量的元素;链表中进行插入和删除则很简单,只需要改变指针的指向即可。

    (4)数组操作简单,链表复杂,但是功能强大,自由度高。

    #include <iostream>
    #include <CSTRING>
    using namespace std;
    int Lengh(const char *str);
    
    
    
    int main()
    {
    //定义一个字符串
    char *str = "the price is five pounds";
    char *p = str;
    while(*p++)
    {
    cout << *p;
    }
    
    cout << "
    the length of str is: " << Lengh(str);
    
    return 0;
    
    }
    
    //统计字符串的长度
    int Lengh(const char *str)
    {
    const char *p= str;
    int n=0;
    while(*p++)
    {
    n++;
    }
    
    return n;
    }


  • 相关阅读:
    motan rpc
    etcd:从应用场景到实现原理的全方位解读 转自infoq
    微信扫码登录实现原理
    商家历史数据查询及下载
    zookeeper No route to host
    hadoop 一些命令
    spring cloud 转
    Lombok 安装、入门
    Prometheus
    kvm虚拟机静态和动态迁移
  • 原文地址:https://www.cnblogs.com/wll-zju/p/4324582.html
Copyright © 2020-2023  润新知