zoukankan      html  css  js  c++  java
  • 21年4月23问题集(一)

    1(解决)

    数组名的sizeof   与  作为参数传入某函数后的sizeof

    作为参数传递后,形参指向数组的什么?   数组名的地址,数组首元素的地址?

     

    在函数里面定义的数组, sizeof表示整个数组的大小。

    (这个内存块的大小)(元素个数 * 元素该类型的大小)

     

    作为形参传递进去的时候,退化成了指针。Sizeof就是该元素的大小

    (根据该元素的类型)

    这个指针,指向数组首元素的地址

     

     

    2(解决)

    定义   ar[];

    ar   &ar

    如何判断数组在使用的时候,表示的是  数组首元素地址

    数组名地址

     

     

     

    ar,数组名作为数组首元素的地址,它是常性值

    常性值是不能改变自身的,所以ar++  ar=ar+1 是错误

    但是在其基础上进行运算,从而得出结果,是可行的。  

    比如 printf(“%d”,ar+i);  这句是正确的(因为没有改变ar本身的值)

     

    ar+1   &ar+1  之所以有结果,是因为没有改变ar本身的值

    ar+1    表示的是数组首元素的地址加一,加到了第二个元素的地址

    &ar+1   表示已以整个数组为单位进行加一,加到了ar[6]的那个地址位置

    ar     数组首元素的地址

    &ar  数组名的地址

     

     

     

    3(解决)

     

    输出为什么不是5 

    Int br[5]  这个不是在函数内定义的,而是作为一个形参定义的

    在形参里面都退化成了指针。所以5没有意义,啥也不表示。

     

    上面两个都退化成了下面那个

    4(解决)

    如何用指针输出数组的时候,判断指针停止移动

    判断条件用指针       p!=null    p!=nullptr   *p!=0   等

    字符串数组可以用‘’!=*p  判断循环结束

    Int数组呢?

    字符串是特例,因为‘’结尾,所以可以指针自身判断。

    其他的都不行

    比如Int数组,nullptr!=p行不通。开辟的栈内存里,下面肯定还有地址,这样指针(p++)就不为空。而里面有啥数据,又是未知的。

    Linux学习笔记
  • 相关阅读:
    php命令注入
    mysql事物
    安装php环境
    移除服务器缓存实例
    show user profile synchronization tools
    manual start user profile import
    JSON is undefined. Infopath Form People Picker in SharePoint 2013
    asp.net web 应用站点支持域账户登录
    Load sharepoint envirement by powershell
    sharepoint 2016 download
  • 原文地址:https://www.cnblogs.com/zealwang/p/14693264.html
Copyright © 2011-2022 走看看