1.指针的定义
2.指针的使用
如下代码:
//1.指针的定义 int a = 10; int* p; p = &a;//实际上是让p指向a的地址 //上面两行等价于 int* p=&a; cout << "a的地址(&a):" << (int) & a << endl; cout << "a的地址(p):" << (int)p << endl; //2.指针的使用 //可以通过解引用的方式来找到指针指向的内存 //指针前面加“*”,代表解引用,找到指针指向的内存中的数据 cout << "*p=" << *p << endl; *p = 100;//通过修改指针指向内存中的数据,修改a的值。 cout << "*p=" << *p << endl; cout << "a=" << a << endl;
运行结果:
3.指针所占内存空间
int a = 10; int* p=&a; //查看指针所占内存空间的大小 cout << "sizeof(int *):" << sizeof(int *) << endl; cout << "sizeof(p):" << sizeof(p) << endl;//与上面等价 cout << "sizeof(*p):" << sizeof(*p) << endl;//实际上是查看int所占内存空间大小 cout << "sizeof(char *):" << sizeof(char *) << endl; cout << "sizeof(float *):" << sizeof(float *) << endl; cout << "sizeof(double *):" << sizeof(double *) << endl; cout << "sizeof(string *):" << sizeof(string *) << endl;
运行结果:
64位 *** 作系统(x64)
32位 *** 作系统(x84)
原因:指针所占内存空间大小与 *** 作系统有关,32位4,64位为8.
其中sizeof(*p),实际上是int所占内存大小。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)