Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4519483
  • 博文数量: 356
  • 博客积分: 10458
  • 博客等级: 上将
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-24 14:59
文章分类

全部博文(356)

文章存档

2020年(17)

2019年(9)

2018年(26)

2017年(5)

2016年(11)

2015年(20)

2014年(2)

2013年(17)

2012年(15)

2011年(4)

2010年(7)

2009年(14)

2008年(209)

分类: C/C++

2008-05-06 17:58:41

原问题:
对(char*)&data的理解
1,可以理解为取data的地址,得到一个地址如0x34e3,再转为char*指针 ????
2,取data的引用,并转为char*类型. ????
具体是如何理解的????
 
C/C++ code
#include <cstdio> #include <iostream> using std::cout; int main() { int data = 65; int *d; d = &data; char *p; //p = &data;//这句编译不通过 p = (char*)&data;
printf("%d %d %d", &data, d, p); printf("\n%d %c\n", *d, *p); cout << *d << " " << p << "\n";//上下两句输出相同 return 0; }


1245052  1245052  1245052
65 A
65 A
Press any key to continue
 
贴上代码就理解了..
取data的地址--指针 然后转化成char*即(char类型的指针)
这样相当于把data的数据看成是char类型 可以对它做char能做而原来data类型不可做的操作
不同的指针类型就是不同的解释方法!
阅读(2914) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~