• 指针与数组


    先来体会下数组与指针的区别,看如下代码:

    int GetSize(int data[])
    {
    return sizeof(data);
    }


    int _tmain(int argc, _TCHAR* argv[])
    {
    int data[] = {1,2,3,4,5};
    int size1 = sizeof(data);

    int *data2 = data;
    int size2 = sizeof(data2);

    int size3 = GetSize(data);

    cout<<size1<<endl<<size2<<endl<<size3<<endl;

    getchar();
    return 0;
    }

    运行输出是20,4,4。

    这里可以得出三点结论

    1、对数组运用sizeof运算符可以得到数组的大小。sizeof使计算对象所占的内存的。

    2、数组名也是一个指针。(sizeof一个指针永远只能得到一个指针变量所占的内存,这跟机器字长有关,32位机是4个字节)

         data2虽然指向了数组data1的第一个数字,但他本质任然是个指针。

    3、函数参数用数组时,实际跟指针一样,调用的时候,数组指针自动退化为普通指针,所以size3得到的是4。

    生命在于折腾,生活就是如此的丰富多彩
  • 相关阅读:
    Kafka之消费者与消费者组
    Kafka之生产者
    基于Redis+Lua的分布式限流
    限流方案常用算法讲解
    分布式服务限流
    微服务框架服务调用与容错
    ZooKeeper实现服务注册中心
    微服务注册中心
    让我自己来整理
    Netty框架
  • 原文地址:https://www.cnblogs.com/Mr-Zhong/p/4118036.html
Copyright © 2020-2023  润新知