虎课网为您提供字体设计版块下的[python中的指针和对象]指针-16章 C语言中的指针和变量图文教程,本篇教程使用软件为Python(3.6.7),难度等级为初级练习,下面开始学习这节课的内容吧!
那就开始今天的教程吧
1.首先来看C语言,这是一个非常简单的C语言程序,这个程序里定义了一个main函数,这个函数会返回int,这里面返回的实际上就是0,在这个函数里面定义了x这个变量,这个变量是int,这是它的类型,
然后它的值是等于123,通过printf打印出来x的value,最后return 0 。
2.可以通过gcc去进行编译,然后去编译成一个叫做demo的可执行文件,执行完以后在本地有一个叫做demo的二进制可执行的文件,可以直接去运行它,它就会打印出来123。
3.在C语言里面去定义一个变量,要去指明它的类型,这个时候电脑会在一个特定的内存去申请一块地址,然后把123这样的int放到那个空间里面,并且会有一个地址指向这个空间。
4.去定义一个新的函数,这个函数名字叫做change,这个change接受的参数是int,这个参数名字叫做y,在这个change里面对这个y,这个int去进行+1的操作,就是y=y+1,
这个函数是通过这void来去表明它不会返回任何的值。
5.在main函数里面去调用这个函数,通过change传入x,把这个x传给y,让y去+1,最后还是打印出来x的值,再去进行一次gcc,然后去执行demo123,没有任何的变化,因为把x传递给y的时候,
这个内存里面会重新的去申请一块空间,把这个123的值放到这个空间地址里面去,程序里面就有两块内存空间,这两块内存空间存放的这个value值是一样的,都是123。
6.这样传递参数的形式是创建了两个变量,在传递参数的时候可以直接把地址传递给这个参数,指向的位置数据可以直接去修改,这样就可以影响到原始的变量的值。
7.在C语言里面可以去定义一个指针,通过*号去定义,传入的是x这个变量,把地址传给了*y,这个*y是一种特殊类型的变量, 它是一个指针,是一个只可以用于接收地址的指针,
对于这个*y就是去引用这个地址的值,这个地址指向那个值是123,去对它进行修改的时候这个x就会跟着变化。
8.去编译然后执行,就变成了124,比如说这个x的值就变了,传递过去的是x的这个地址,通过这个地址y就可以访问到x这个内存块,然后它去修改了这个内存块的value,自然而然就影响到了x的取值,
如果不传递地址,直接传值跟之前一样,会在内存里面去再去分配一块地址专门来放y。
9.之前是一块空间去放x,又去申请了一块空间去存放y,这样会浪费空间,如果要去传递数据占一块很大的内存,通过这种方式内存的占用量就会变成之前的两倍,通过传递地址的方式可以减少内存。
以上就是[python中的指针和对象]指针-16章 C语言中的指针和变量图文教程的全部内容了,你也可以点击下方的视频教程链接查看本节课的视频教程内容,虎课网每天可以免费学一课,千万不要错过哦!