一维数组的存储类型 , a &a int(a) 的区别
来源:互联网 发布:mac os x10.7.5升级包 编辑:程序博客网 时间:2024/06/08 10:13
一维数组:
int a[3];
名称
数据类型
值(举例)
意义
a
int *
0x0300
数组的 首元素的首地址
&a[0]
int *
0x0300
数组的 首元素的首地址
&a
int (*)[3]
0x0300
整个数组的的首地址
(int)a
int
0x0300
强制类型转换
以一个面试题举例分析一下他们的区别. 直接看图. 这道题目的答案不唯一,要首先区别大端和小端模式. 可以看看我前几天写的一篇文章,
int a[] ={1,2,3,4,5};
int *ptr1 =(int *)((int)a + 1);
int *ptr2 =(int *)(&a + 1); //&a整个数组的的首地址 &a + 1 ( &a[0] +sizeof(a)) 相当于 a[5]
printf("%#x\n",*ptr1); // 0x02000000
printf("%#x\n",ptr2[-1]); // ptr2[-1] *(ptr2 – 1 ) 5
0 0
- 一维数组的存储类型 , a &a int(a) 的区别
- (int)a、&a、(int)&a、(int&)a的区别
- (int&)a和(int)a, (int)&a, &a的区别
- (int)a、&a、(int)&a、(int&)a的区别
- (int)a、&a、(int)&a、(int&)a的区别
- (int)a、&a、(int)&a、(int&)a的区别
- (int)a、&a、(int)&a、(int&)a的区别
- (int)a、&a、(int)&a、(int&)a的区别
- (int)a、&a、(int)&a、(int&)a的区别
- (int)a、&a、(int)&a、(int&)a的区别
- 转载:(int)a、&a、(int)&a、(int&)a的区别
- (int)a &a (int)&a (int&)a的区别
- int a[], &a与a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- web前端开发【连载1】-html和css简介
- 一个使用高德地图SDK进行逆地理编码的例子
- 感恩你遇到的一切
- 1002. A+B for Polynomials (25)
- AndroidStdio-图片格式引发的异常
- 一维数组的存储类型 , a &a int(a) 的区别
- UVa 232 Crossword Answers
- shell
- opencv 2D直方图
- ListView+ SQLite实现商品展示
- Android:AS与Unity3D之间打包的各种坑及解决方案
- POJ
- IF脚本实现虚拟机的开启,关闭,重置,快照
- Hadoop2.x 让你真正明白yarn