C语言中有许多基本的数据类型,如char,int,double等。
char是字符类型,可以保存一个字符,int是整数类型,可以保存一个整数,double是双精度实型,可以保存一个实数。例如:
char c = 'A';
int i = 100;
double pi = 3.14;
每个变量在定义的时候都会获得一个地址。前面小猫已经知道可以用&运算符获取一个变量的地址,变量的地址其实就是一个整数值,在64位系统上变量的地址有8个字节。那么,应该可以用一个long long型的数据来保存它。试一下看看:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int b;
long long i = &b; //用long long类型保存变量b的地址
printf("%X\n",i);
system("pause");
return 0;
}
运行结果如下:
说明变量b的地址确实可以保存在long long类型中,变量的地址本质上确实就是个整数。但小猫看到编译的时候,有一条警告信息: warning: initialization of 'long long int' from 'int *&