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指向的地址的内容,然后加上偏移量,再将其作为地址访问,尽管实际上它并不是地址。
因此,尽管很多时候数组可指针很通用。但是这样类型不匹配的外部引用仍然是错误的,编译器将会给出警告。
上述错误的出现,是因为通过外部引用,使得变量的·声明·与·定义·不一致。
字符串指针可以用一个字符串常量进行初始化;
其他类型的指针不能通过常量进行初始化。
用常量进行初始化的字符串指针不能修改其指向的字符串;
用常量进行初始化的字符串数组可以修改其字符串。
- ECP chapter 4
- chapter 4
- Chapter 4
- chapter 4
- Chapter 4
- Chapter 4
- Chapter 4
- Chapter 4
- Chapter 4
- Chapter 4
- Chapter 4
- Chapter 4
- Chapter 4
- ArcEngine 9.1的ECP
- ArcServer 9.3 ecp、 ArcSDE 9.3 ecp、 ArcIMS 9.3 ecp、 ArcEngine 9.3 ecp
- ArcEngine10 ecp 授权
- 2013 ECP重置用户密码
- 什么是oracle ECP
- 常用js验证
- JavaScript数字和字符串转换小结
- JS 判断代码全收集
- 如何切分窗口
- Intel未把Chrome OS当成Moblin的威胁
- ECP chapter 4
- 数字加字母验证码和汉字验证码
- AJAX + jQuery
- 万维网(WWW)简介
- 使用IE浏览器无法打开xml文件解决方法
- 时间戳
- 危机下的开源大势
- delete,delete[],delete void*
- debian中文显示及输入支持配置