以前经常刚开始写c的时候经常犯错,想想也很有意思,最近正好趁着这个时光做了一下总结。c中指针的使用时非常重要的,但是无论是什么语言,都要首先树立内存空间这一概念,这样的话会很容易找到不同语言之间的相似点。首先我们要明白,一个内存单元的地址就叫做指针。那什么是内存单元呢?一般来说我们把存储器中的一个字节成为一个内存单元,不同数据所占的内存单元数不等,比如说char占用一个内存单元。为了让计算机能够找到某个内存单元,必须为每个内存单元进行编号,这里的编号就是我们所说的地址,也就是c中提到的指针。现在我们明白,内存单元其实由内存单元地址和内存单元内容共同构成。举个例子来说明这种关系,一个房屋有自己的地址(比如说天使街111号)是指针,而房屋里人就相当于内存单元的内容。当我们寻找某个人时,我们先找到他的房子即可。在c语言中允许使用一个变量来存放指针,这种变量成为指针变量。要注意的是,一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。除此<之外不要忘记,指针实际上也是一个地址。在c中,我们可能遇到交换个数值得情况。这里也许会遇到一些问题。见代码:
总结一下,如果要实现在函数内修改外部变量,最好的方式修改单元内容。
另外要注意在使用指针常犯的两个错误:
1、不给指针赋值,直接调用
2、指针类型和地址的类型不匹配
float t
int* i=&t