在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。 【概念来源百度百科】
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
cout << "Hello World\n";
char *p = "Hello";
void *ptr = p;
cout << *p << endl; //输出指针指向首地址的值
cout << p << endl; //输出指针地址存放的值(变量的值)
cout << &p << endl; //输出指针p本身的地址
printf("%p\n%p\n",p,&p); //输出的是指针p存放的的地址和指针p本身的地址
printf("******************\n");
cout << &ptr << endl; //输出指针ptr本身的地址
cout << *(&ptr) << endl; //输出指针ptr的地址存放的地址
printf("%p\n%p",ptr,&ptr); //输出的是指针ptr存放的的地址和指针ptr本身的地址
return 0;
}
输出结果:
Hello World
H
Hello
0x7ffd25ba9500
0x400b01
0x7ffd25ba9500
******************
0x7ffd25ba94f8
0x400b01
0x400b01
0x7ffd25ba94f8