本帖最后由 明天过后1 于 2014-10-1 20:59 编辑
以下是个人对指针的看法,如果欢迎各位指正和补充:
指针占用8个字节内存空间 :
1. 指针的作用 : 用来存放地址,并且可以通过地址来直接操作响应的内存。 2. 对于64位编译系统表示一个地址需要8个字节(64位)空间来存储,同理,32位编译器就需要4个字节。
指针变量类型的作用 :
1. * 号对于指针来说是取出对应地址的内容
2. 指针一次读取操作要读取多少个字节?这就需要指针变量的类型来决定了
那就用代码来证实一下吧 :
/*
这里用的是32位编译器
*/
#include <stdio.h>
int main(){
printf("double's size = %d\n",sizeof (double)); // double's size = 8
printf("int's size = %d\n",sizeof (int)); // int's size = 4
double num1 = 10.0;
int num2 = 10;
double *p1 = &num1;
int *p2 = &num2;
printf("double*'s size = %d\n",sizeof (double *)); // double*'s size = 4
printf("int *'s size = %d\n",sizeof (int *)); // int *'s size = 4
printf("double 类型指针一次读取,操作空间:%d\n",sizeof *p1); // double 类型指针一次读取,操作空间:8
printf("int 类型指针一次读取,操作空间:%d\n",sizeof *p2); // int 类型指针一次读取,操作空间:4
system("pause");
return 0;
}
|
|