zoukankan      html  css  js  c++  java
  • 数组名和指针的区别

    作者:SHI家的鱼
    链接:https://www.zhihu.com/question/41805285/answer/202040382
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    1. 己址

    数组和指针,都是有自己的地址的。在代码中,你可以用取地址运算符“&”来取得。程序中是:

    printf("%x %x ", &pInt, &arr);

    2. 己值

    数组和指针,都是有自己的数据值的。程序中,数组arr的数据值,是arr[0]的地址;而对于指针pInt,通过

    pInt = arr;

    之后,pInt的数据值也是arr[0]的地址。

    但是,有一点不一样的是,arr的数据值是不可以改变的,是个常量;而指针变量pInt的数据值,是可以改变的,你可以:

    pInt = arr;

    你也可以:

    pInt = arr + 1;

    随你!

    另外,都可以在数组和指针的己值上,做运算,比如:

    arr + 1;

    pInt + 1;

    3. 他值

    数组和指针,在获取他值时,在代码的写法上是一样的。比如对于数组,你想获取第2个元素的值,你可以这样写:

    arr[1];*(arr + 1);

    对于指针pInt,你也可以这样写:

    pInt[1]; *(pInt + 1);

    也可以在数组和指针的他值上做运算,比如:

    arr[0] + 1; *arr + 1; *(arr + 1) + 1;

    pInt[1] + 1; *pInt + 1; *(pInt + 1) + 1;

    4. 总结

    数组和指针在概念上是不一样的,但是在代码的写法上,有些是一样的。有兴趣的朋友,可以结合我的文章中提出的“两己三他”:己址、己值、他值、他址、他型这5个维度来理解。

  • 相关阅读:
    ios端点击document,input框不会失去焦点
    只能输入整数和小数
    Array.prototype.slice.call()方法详解 (调用方法中的参数截取出来)
    jquery自带的显示隐藏功能(有过渡效果)
    jquery鼠标事件
    JavaScript的switch循环
    JS获取当前时间
    jquery添加元素
    逻辑非(!)与(&&)或(||)
    css玩转文字
  • 原文地址:https://www.cnblogs.com/mini-coconut/p/9240069.html
Copyright © 2011-2022 走看看