关于C语言 指针的理解(一)

C语言的指针一些运用的情况


从大一开始接触C语言算起,零零散散地感觉上手了不少。但是有时候遇到用指针变量的时候会出现奇怪的错误。

所以,想研究一下指针变量的各种情况下的变化和可能出现的错误。

这是我第一次写博客,可能有些表达不够清晰的地方,请见谅。

指针保存的是地址,而地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存地址。

自己写了接近一年的编程,个人感觉指针有个很方便的地方是在于它可以跨函数对一个变量进行操作。比如,用指针做参数

关于C语言 指针的理解(一)运行结果:关于C语言 指针的理解(一)

我们不用指针对比一下,看看b的值是否还会改变。

关于C语言 指针的理解(一)

很显然,调用了指针为参数就可以改变传入的值,意思就是传递了b的地址,而testValue函数在对b的地址进行改变操作

如果传入的不是变量地址的话,其实是在testValue函数上,划定了一个新的内存地址,仅仅把b的值复制到新的内存地址上去了

所以并没有改变传入的变量。

这里区别类似java的引用传递和值传递。

指针还有很多很方便的用法,不过不是这次的研究点,找个机会再写另外一篇关于指针高级用法的吧。

这篇先到这吧!