int* 改变了4个字节
double* 改变了8个字节
并非总是这样,取决与int 和 double浮点数的大小
编译器总是能算出指针的正确值
指针能指向下一个元素
double* 改变了8个字节
并非总是这样,取决与int 和 double浮点数的大小
编译器总是能算出指针的正确值
指针能指向下一个元素
struct数组也是这样,指针能指向下一个元素
//: C03:PointerIncrement2.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;
typedef struct {
char c;
short s;
int i;
long l;
float f;
double d;
long double ld;
} Primitives;
int main() {
Primitives p[10];
Primitives* pp = p;
cout << "sizeof(Primitives) = "
<< sizeof(Primitives) << endl;
cout << "pp = " << (long)pp << endl;
pp++;
cout << "pp = " << (long)pp << endl;
getchar();
} ///:~
对struct指针可以正确工作
输出
sizeof(Primitives) = 32
pp = 7731752
pp = 7731784