注册 登录
编程论坛 C++教室

很抽象的问题 : 指针和地址用法

kaneqeqeq 发布于 2007-07-28 11:46, 806 次点击
#include <iostream>

int main()
{
// Intrinsic type variables.
char c = 'A';
int i = 123;
long l = 54321;
float f = 3.45;

// Pointers.
char* cp; // to char
int* ip; // to int
long* lp; // to long
float* fp; // to float

// Assign variable addresses to pointers.
cp = &c;
ip = &i;
lp = &l;
fp = &f;

// Reference the variables through the pointers.
std::cout << *cp << std::endl;
std::cout << *ip << std::endl;
std::cout << *lp << std::endl;
std::cout << *fp << std::endl;

return 0;
}

输出是 :
A
123
54321
3.45

我不明白为什麼输出是这样,谁可教教我 ? 十分感谢 ^^
9 回复
#2
Arcticanimal2007-07-28 12:07
  这个...似乎并不抽象,最简单最基础的指针问题,知道指针是什么东西这个问题就结了。lz还是好好看一下书
#3
kaneqeqeq2007-07-28 12:13
哈哈,剛剛我明白了,只要我把它們形象化
#4
leeco2007-07-28 12:50
计算机上没有什么是抽象的,要抽象就要提高到数学上,再抽象就提高到哲学上,最抽象的问题是哲学问题,世界的本原是什么?思维和物质的关系是什么?什么是时间?
#5
野比2007-07-28 18:35
以下是引用leeco在2007-7-28 12:50:57的发言:
计算机上没有什么是抽象的,要抽象就要提高到数学上,再抽象就提高到哲学上,最抽象的问题是哲学问题,世界的本原是什么?思维和物质的关系是什么?什么是时间?

这位小哥, 太深奥了....

#6
野比2007-07-28 18:37
指针是一个数值.. 一个下标...
本身是个变量...
#7
melucky0102007-07-31 13:38

强啊,这逻辑:《计算机上没有什么是抽象的,要抽象就要提高到数学上,再抽象就提高到哲学上,最抽象的问题是哲学问题,世界的本原是什么?思维和物质的关系是什么?什么是时间?》》

#8
Arcticanimal2007-07-31 20:31

这里有一些想法:
从数学的角度,集合的定义不能用"所有"。所以"世界"本身就会是一个矛盾的定义。
"时间是值得怀疑的..." --Einstein

#9
百年不亮2007-07-31 20:45
确实计算机里没有多少抽象的,硬盘里是些NS级表示01,内存里是单元电平高低表示01,寄存器用锁存器锁高低电平表示01,为了定位这些表示数据的单元给他们分配一个编号就是地址,一个存储单元存了别的单元的地址,这个单元就是指针。

存储器是实实在在的,可以扔过去砸你脑袋的东西。数学这种可以称之为科学的比较抽象,你问的称之为技术的就实在了。
#10
不以物喜2007-08-01 10:08

好好看书把
这是最基本的问题唷

1