ECP chapter 4

来源:互联网 发布:c 调用caffe模型 编辑:程序博客网 时间:2024/05/31 13:16

左值:在编译时可知,表示存储结果的·地方·。
右值:知道运行时才知道,表示相关地址上存储的·内容·。
可修改的左值:表示左值允许出现在赋值语句的左边。
              这是为了与数组名区分。
              数组名也用于确定对象在内存的位置,也是左值,但不能被赋值,因此它是不可修改的左值。

 

对数组的访问方式:
    1 获取偏移量并与基址(即数组开始地址)相加;
    2 取新地址的内容。

 

对指针的访问方式:
    1 获取指针变量的内容(即指针指向的地址);
    2 取新地址的内容。

 

对声明为指针,但以数组方式使用的访问方式:
    1 取指针变量的内容(即指针指向的地址);
    2 将偏移量与基址相加;
    3 获取新地址指向的内容。

 

在一个多文件程序中,
假设a文件中定义了整形数组: Int mango【100】;
在b文件中进行外部引用声明: extern int *mango;
这时,在b文件中对变量mango通过数组访问将会产生不可预知的错误。因为根据上述第三种访问方式,将首先获得mango指向的地址的内容,然后加上偏移量,再将其作为地址访问,尽管实际上它并不是地址。

 

因此,尽管很多时候数组可指针很通用。但是这样类型不匹配的外部引用仍然是错误的,编译器将会给出警告。
上述错误的出现,是因为通过外部引用,使得变量的·声明·与·定义·不一致。

 

字符串指针可以用一个字符串常量进行初始化;
其他类型的指针不能通过常量进行初始化。

 

用常量进行初始化的字符串指针不能修改其指向的字符串;
用常量进行初始化的字符串数组可以修改其字符串。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被鸡抓伤肿了怎么办 护士电子化没有激活码怎么办 窗帘盒螺丝掉了怎么办 窗帘的环扣掉了怎么办 门式起重吊装行车脱轨怎么办 在日本丢了东西怎么办 在日本钱包丢了怎么办 被起诉后没钱还怎么办 分期付款卖车打不起车款怎么办 地铁票买多了怎么办 工伤陪护费没有发票怎么办 工伤医疗费报销单位不盖章怎么办 家里的led灯坏了怎么办 吊顶led灯坏了怎么办 客厅空了一面墙怎么办 轨道灯的轨道不够长怎么办 奔驰大灯不亮了怎么办 led顶灯不亮了怎么办 吸顶灯led灯坏了怎么办 车底盘塑料被刮怎么办 汽车门电机坏了怎么办 宁波北仑普高差三分该怎么办 上班的地方甲醛味很重怎么办 公司不给员工交社保怎么办 户口转到学校毕业了怎么办 外地户口转到北京档案怎么办 隧道防水板过紧怎么办 到国企没报到证怎么办 车子锁了油箱盖能开怎么办 单位不接受档案和户口怎么办 完税凭证弄丢了怎么办 育种玉米公本早了怎么办 网银转账打错了怎么办 转账名字打错了怎么办 普通转账名字打错了怎么办 银行账号转错了怎么办 打款信息错了怎么办 报到证过期了档案怎么办 日本suica卡丢了怎么办 日本地铁卡丢了怎么办 极光卡五星老输怎么办