Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7622
  • 博文数量: 2
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 32
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-07 23:59
文章分类
文章存档

2014年(2)

我的朋友
最近访客

分类: C/C++

2014-12-08 17:07:27

1.为什么变量的地址都是模4的?

因为CPU只能访问模4的地址,所以变量的地址模4CPU效率更高

 

2.指针就是地址吗?

不是,指针 地址 地址的解释方式。

 

3.*p是什么?

      *p是把p的内容当地址,再取内容。属于间接访问,访问了两次,第一次访问p的内容,第二次访问的是把p的内容当地址再取内容的内容。因为访问了两次,所以指针效率比直接访问要低。

 

4.野指针是未初始化的指针。

 

5.数组和指针

  • 数组首地址是有解释方式的地址常量,就是常量指针。
  •  指针减指针的值是整型,是两个指针之间的元素个数,不是常量。计算公式:P1 - p2 = ((int)p1 - (int)p2) / sizeof(type)不管指针写的多复杂,产生的汇编代码都是计算后的结果,很简单。
  •  字符串常量不能被重新赋值。Char sz[] = “hello”; sz[1] = ‘a’;会报错。
  •  Printf(“%d”, sz);显示sz的值,%s就把sz当字符串的首地址,显示字符串。
  •  指向二维数组的指针:int (*pAry)[3] = ary;然后这样写就是正确的了:pAry[i][j]

阅读(934) | 评论(0) | 转发(0) |
0

上一篇:结构体、共用体、枚举

下一篇:没有了

给主人留下些什么吧!~~