C++编程思想 第1卷 第3章 指针简介 打印元素的地址

C和C++ , & 运算符告诉我们元素的地址。

元素前加 & 就可以知道地址。


//: C03:YourPets2.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
#include <iostream>
using namespace std;

int dog, cat, bird, fish;

void f(int pet) {
  cout << "pet id number: " << pet << endl;
}

int main() {
  int i, j, k;
  cout << "f(): " << (long)&f << endl;
  cout << "dog: " << (long)&dog << endl;
  cout << "cat: " << (long)&cat << endl;
  cout << "bird: " << (long)&bird << endl;
  cout << "fish: " << (long)&fish << endl;
  cout << "i: " << (long)&i << endl;
  cout << "j: " << (long)&j << endl;
  cout << "k: " << (long)&k << endl;
  getchar();
} ///:~

(long)是一种类型转换 cast。
意思是把他看成是long类型


main()内部定义的变量, 和外部定义的变量不在一个区域。
内存中代码和数据是分开存放的
dog cat bird 变量距离4个字节, 这台机器上,int占4个字节
C和C++有一个专门存放地址的变量类型,变量叫做指针
指针的运算符是 *, 但编译器知道他不是乘法


一个int指针  
int* ip;


指针的作用, 函数内部改变 函数外面定义的变量。有更灵活的编程技巧。


输出
f(): 12718755
dog: 12775960
cat: 12775964
bird: 12775968
fish: 12775972
i: 5633980
j: 5633968
k: 5633956


猜你喜欢

转载自blog.csdn.net/eyetired/article/details/80603569
今日推荐