在技术学位中,有些概念和科目通常会让学生感到害怕,一些主要的例子是与面向对象编程和微积分相关的科目,另一个例子是一些更基本的抽象概念诸如指针之类的函数,主要在 C 语言中,这是本文的主题。
与我们不同,计算机不通过“标签”或“名称”来了解某些信息,而是通过该数据在内存中的位置来了解某些信息。我们可以将内存视为一组“单元”,其中包含许多存储 0 或 1 的位,每个单元都与存储一些信息的某个地址相关联,以便机器执行的程序可以访问这些数据并进行操作它。 。
请记住,程序要能够使用数据,就需要知道其在内存中的地址,我们可以设想指针的概念。指针是一个“指向”其他数据的变量,就好像它是内存中的一个空间,用于存储另一个变量或信息的地址,以便可以对其进行操作。
但现在问题来了,指针有什么用呢?指针允许进行一些涉及内存的更复杂的操作,例如使用 Malloc 进行动态分配或创建更复杂的数据结构等。此外,还有一些细节一开始学生不太容易注意到,例如向量的名称是指针。没错,向量无非是一个“固定指针”,指向内存中的某个位置,我们可以根据需要使用索引进行操作。
另一种用途是通过引用操作数据,例如:将数组作为参数传递给另一个函数,允许修改原始数组,而不是传递的值或对象只是一个副本,例如,在 Javascript 中发生的情况不存在指针的概念(至少不明确),例如:
#includeint vet [5] ={10,20,3,4}; void somadez(int * ref){ for(int i=0;i 指针的另一个不太明显的用途,这次是面向对象的语言,例如,我们可以创建动态对象并促进继承和多态性的工作。
下面是 C 的示例:
#includeusing namespace std; class Animal{ public: virtual void som(); }; class Cachorro : public Animal{ public: void som(){ cout som(); //neste caso podemos usar o ponteiro para acessar métodos e atributos de uma classe derivada. return 0; }
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3