指针运算结构
随着我们的学习,C语言学到了指针这个知识理论,而指针是一个很重要的知识。指针在C语言中具有十分高的地位。掌握指针的使用方法是一个C语言程序员应该具有的基础技能。总之,指针十分重要。作为初学者的我也对于这一部分的知识表示很难理解,由此可见指针是C语言学习的一个难点。
而指针的定义是对于每个变量,它在内存中都有一个存储的位置,这个位置就是该变量的地址,对变量值的存取是通过地址进行的。在C语言中这个地址的形象化的称为“指针”。
由上面的这段话可以得知,指针的本质其实是地址,指针变量就是存放另一变量的地址。我们可以利用指针直接对内存进行操作,利用存放变量的地址找到变量。举一个贴近生活的例子,把一个地区比作内存,房子比作指针,居民比作变量。我们要在内存找一个变量,可以根据指针。就如在一个地区要找一个人,我们可以通过寻找这个人的住址把这个人造出来。一般来说,地址是不会轻易改变的。如果我们需要指定某些特定的内存地址存储的变量进行某些操作,都会利用到指针。指针本身是一个变量,它存储的是数据在内存中的地址而不是数据本身的值。它的定义:
int a=10,*p;
P=&a;
int a=10;
int *p=&a;
首先我们可以理解 int* 这个是要定义一个指针p,然后因为这个指针存储的是地址所以要对a取地址(&)将值赋给指针p,也就是说这个指针p指向a。
作为我们这样的新手都会对这两种定义方法感到迷惑,其实他俩的意思是一样的。第一种定义方法定义了int型的变量a和指针p,然后将a的地址赋给p。第二种是在定义指针p的同时将a的地址赋给指针p。我们姑且理解为“int“*是定义指针的标志。
指针也有很多优势比如:(1)可以提高程序的编译效率和执行速度,使程序更加简洁。(2)通过指针被调用函数可以向调用函数处返回除正常的返回值之外的其他数据,从而实现两者间的双向通信。(3)利用指针可以实现动态内存分配。(4)指针还用于表示和实现各种复杂的数据结构,从而为编写出更加高质量的程序奠定基础。(5)利用指针可以直接操纵内存地址,从而可以完成和汇编语言类似的工作。(6)更容易实现函数的编写和调用。
指针是c语言中比较难的一部分内容,需要我们加强学习,才能更加的懂得其中深奥的知识,作为大一的学生,最重要的就是务实基础加强学习,才能更加的学习接下的内容,知识是相关联的,必须要一步一步的打牢扎实的基础,才能更好的学习接下来的知识,大一时间短很重要,我们要抓紧时间,不负自己的青春,努力学习好。