基本数据类型计划

时间:2014-06-21 23:37:35

标签: c++ pointers types primitive-types

我写了以下代码:

#include <iostream>
#include <iomanip>

using namespace std;

int main(){

    char c;
    int i;
    short int j;
    long int k;
    float f;
    double d;
    long double e;

    cout << "The size of char is: " << sizeof c << endl;
    cout << "The size of int is: " << sizeof i << endl;
    cout << "The size of short int is: " << sizeof j << endl;
    cout << "The size of long int is: " << sizeof k << endl;
    cout << "The size of float is: " << sizeof f << endl;
    cout << "The size of double is: " << sizeof d << endl;
    cout << "The size of long double is: " << sizeof e << endl;

    system("pause");
    return 0;
}

这个程序的目的是打印基本数据类型的大小,我认为我已经完成了。该程序的另一个目的是打印指向这些数据类型的指针的大小。我很难搞清楚如何做到这一点。我知道指针是一个变量,它存储另一个变量的地址,指针涉及deference运算符(*)。有人可以提供建议吗?我不是在寻找答案,只是在正确的方向上轻推。

1 个答案:

答案 0 :(得分:1)

int *p; // p is a pointer to an int

因此指针的大小为:sizeof p,您可以将其打印为:

cout << "The size of int pointer is: " << sizeof p << endl;

这是你需要打印其他指针&#39;尺寸。

取消引用仅在您想要访问指针所指向的内容时才会执行。 E.g。

int i = 5;
int *p = &i;

*p = 6;
*p = *p + 1; 
//etc

在这里,您只想获得指针的大小。所以不需要解除引用。