您的位置:首页 > 其它

数据类型的理解

2015-08-14 16:11 190 查看
#include<cstdlib>
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int a;  //编译器分配 4个字节的空间
int b[10];  ////编译器分配 40个字节的空间
int *p;

a = 10;
printf("%d\n\n", &a);
//275223
*((int*)2752232) = 300;//间接赋值  直接给地址
cout << a << "\n\n";

{

p = &a;
*p = 300;
}
cout << "b:" << b << ", b+1:" << b+1 << ", &b"
<< &b << ", &b+1" << &b+1;

return 0;
}


数据类型只是固定内存大小的别名,我们通过数据类型定义一个变量,那么变量其实就是一段连续内存空间的别人。我们通过变量向内存中读写数据。我们可以向上定义一个a直接让a=10,那么就是直接修改它的数据类型;既然我们通过变量修改内存上的数据,那么我们可以直接得到a在内存的地址,间接的修改a的值,也可以通过一个变量间接赋值。

数据类型的标示意义:

    数据类型的所占的字节数可以这样理解,当我们写作文的时候,必须了解到一个字占多少格吧,方便我们书写和研读,这是一个道理,只有定义好了数据类型,知道相应的    字节范围,才能更好的存储数据,防止数据溢出(就相当于写作文时我们的纸张不够用),我们才能更方便的使用。

我们用数据类型定义数组的时候,int b[10] 编译器就是分配40个字节空间给它,b代表的是数组的首元素的地址,而&b代表的是整个数组的地址。因而&b+1的到值是在内存空间中数组b之后的内存空间的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: