没有合适的资源?快使用搜索试试~ 我知道了~
青牛软件笔试心得.doc
0 下载量 10 浏览量
2022-12-21
01:28:31
上传
评论
收藏 15KB DOC 举报
温馨提示
试读
4页
青牛软件笔试心得.doc
资源推荐
资源详情
资源评论
青牛软件笔试心得
您需要后才可以 |
void main()
{
int a[5] = {1,2,3,4,5};
int *ptr = (int *)(a + 1);
int *ptr2 = a+1;
printf("%d,%d,%d", *(a+1), *(ptr-1), *(ptr2-1));
}
输出为2,5,1
问题:中间那个5是怎么来的?
解答:
int a[5] = {1,2,3,4,5};
此语句会让系统在栈内存中分配5个连续的int型(32位机是四个字节
)空间
a是一个指针常量,a应该是被分配在静态存储区(不敢肯定,望大牛
解惑
当然不是,是存在栈空间的动态存储的,这我自己知道),并且有一
个固定的值
假设该数组的首地址为4000,即a的值是4000,那麽数组元素5的地
址应该是a[4] = 4000+4*4 = 4016
另外假设a的地址是3000
资源评论
黑色的迷迭香
- 粉丝: 703
- 资源: 4万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功