#include “stdafx.h” #include “iostream.h” void main(){ cout<<&b<<endl<<b<<endl<<*b; system(“PAUSE”); } 这段代码为什么打印结果是16进制的数,大家帮我解释解释这段代码,非常的感谢大家 |
|
输出的是地址 你以为呢
|
|
10分 |
输出指针当然就是输出地址啊,也当然就是16进制的啊。
char *例外。 |
cout会根据操作数的类型,进行打印
string s; cout<<s; //打印类对象中字符串 |
|
操作数是地址,一般就按16进制打印
|
|
为什么要加上括号呢? |
|
20分 |
(int*)是强制类型转换
地址是没有类型的,指针才有 |
地址跟指针不是一个概念吗? |
|
指针是带类型的地址 |
|
类型指定了这片内存的长度
|
|
地址本身是没有内存长度的,而指针是规定好了存储的长度的了(数据类型),可以这么理解吗? |
|
10分 |
指针有一块内存,里面存储的是地址,地址是一个字节内存的编号 |
可以 |