C语言中指针与函数的关联2(数组的降级)
来源:互联网 发布:爱奇艺去广告优化版 编辑:程序博客网 时间:2024/05/19 04:03
上一篇讲过数组名发生降级的问题,说的还不够详细,这里我们给一份代码
int main(){int arr[10] = { 0 };int *p1 = (&arr)+1;int *p2 = arr + 1;return 0;}
然后我们进入调试,监视变量p1,p2,让程序走起来,监视结果如下:
这里我们看到arr的地址为002cfe48,p1的地址为002cfe70,p2为002cfe4c,由于arr首元素的地址为fe48当我们对其向后偏移一个字节,对arr实行了加法运算,数组发生降级,代表首元素的地址,换算成16进制,48+4=4c,得到的是p2=fe4c,而如果我们队arr进行取地址,因为&不会使数组发生降级的,arr有10个单位,每个单位4字节,所以70-48=28,换算成16进制,刚好为40。
这样我们就清楚地看到数组的降级,数组与指针的区别了。
本文出自 “pawnsir的IT之路” 博客,请务必保留此出处http://10743407.blog.51cto.com/10733407/1715016
0 0
- C语言中指针与函数的关联2(数组的降级)
- C语言中的指针与数组的关联1
- C语言中的指针(指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针)
- c语言中函数指针与指针函数的区别
- C语言中函数返回数组;数组与指针的区别
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- C语言中指针与数组的区别与联系
- C语言中,函数指针数组的用途:转移表
- C语言中你不知道的事(3)-- 函数指针、指针数组及数组指针
- C语言中数组与指针的透彻分析
- c语言中数组和指针的区别与联系
- C语言中数组与指针的区别
- C语言中,指针字符串与数组字符串的区别
- C语言中数组与指针的结合
- C语言中指针与数组的差别
- C 语言中指针、字符串与数组的一些关系
- C语言实现数组的奇偶排序
- 一个数组中所有的数都是成对出现的只有一个或者两个数字是单独的,求这个数
- C语言中模拟实现strcpy,strstr,strcat函数
- C语言模拟实现memcpy,memmove函数
- C语言中的指针与数组的关联1
- C语言中指针与函数的关联2(数组的降级)
- 指针与数组的关联3 --声明
- 模拟实现C语言strncpy.strncat.strncmp函数
- C语言模拟实现memset.memcmp函数
- C语言用结构体写一个通讯录
- 提交Android代码的格式
- C语言实现C到C++的注释转换
- C语言实现顺序表的增删查改以及排序
- C++实现链表的进本操作及测试用例