C++的指针是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:12:16
C++的指针是什么意思? 这个对与C++重要吗?请高手解释哈,详细点!!!谢谢@@


  指针就像是其它变量一样,所不同的是一般的变量包含的是实际的真实的数据,而指针只是一个指示器,它告诉程序在内存的哪块区域可以找到数据。
  指针是一个数据类型,本身也需要占用四个字节的存储空间。所以用sizeof(void*)获得的值为4。

定义指针:
  看如下的例子:
int *pNumber;
  这样就定义了int类型的指针。

  指针变量名称以p为首字符,这是程序员通常在定义指针时的一个习惯,以提高便程序的阅读性,表示这是个指针。另外,虽然int* pNumber和int *pNumber是相同的,但是使用后一种的编程风格更好一些。
比如:
int *pNumber1,*pNumber2;
表示定义两个指针,*号和变量靠近;反之,我们可能会定义成int* pNumber1,pNumber2,这将是一个错误的定义,pNumber2就不是指针了。

指针,非常重要,去看书吧,这里先简单说一下。
执行数据在内存里存储着,每一字节数据都有一个序列号,叫做地址,指针就是存这些地址的。指针的操作就是地址的操作,通过地址来访问、处理数据要比顺序处理要好得多。

注:试想如果你可以在内存中自由穿梭,你可以做多少事。。。

指针,在C/C++语言中一直是很受宠的;几乎找不到一个不使用指针的C/C++应用。用于存储数据和程序的地址,这是指针的基本功能。用于指向整型数,用整数指针(int*);指向浮点数用浮点数指针(float*);指向结构,用对应的结构指针(struct xxx *);指向任意地址,用无类型指针(void*)。
有时候,我们需要一些通用的指针。在C语言当中,(void*) 可以代表一切;但是在C++中,我们还有一些比较特殊的指针,无法用(void*)来表示。事实上,在C++中,想找到一个通用的指针,特别是通用的函数指针简直是一个“不可能任务”。

C++是一种静态类型的语言,类型安全在C++中举足轻重。在C语言中,你可以用void*来指向一切;但在C++中,void*并不能指向一切,就算能,也失去了类型安全的意义了