温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言中怎么定义一个指针并对其进行初始化

发布时间:2021-11-22 14:58:57 来源:亿速云 阅读:167 作者:iii 栏目:互联网科技

本篇内容介绍了“C语言中怎么定义一个指针并对其进行初始化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在C语言中,每个变量被定义好之后(Auto类型定义),编译器便会在内存的栈区为它们开辟出来内存空间来存放这些变量。这些内存空间不管是连续的还是断续的,它们都会被分配不同的地址。而如果这些变量作为形式参数传入函数的时候,实际上仅仅是把变量里面存放的常数传递给函数,而函数内部的临时变量又是这个函数被初始化的时候创立的,和调用处的传递变量不是同一个,因此不管再怎么去改写形式参数里面传递进来的内容,本质上只是改变函数内部这些局部变量的内容。


 C语言中怎么定义一个指针并对其进行初始化
函数的参数传递

指针从一开始被设计出来的时候,其目的不是用来存储某一个具体的常量或变量,它的目的只有一个,就是存放相应变量的地址,即这个变量的内存地址。我们定义完成一个变量之后,就可以将这个指针指向这个变量了。所谓指向某个变量,说直白点就是将这个变量的地址存入指针中。当我们在用指针作为数据交换函数的传递参数时,它其实传入的是这两个变量的地址,而在函数中我们在做这两个变量内容交换时,传递进入函数的指针变量的值是不会变的,还是存放最初的这两个变量的地址,但是当我们做交换操作时,就将原本存在地址A中的变量放入了地址B,将原本存放在B中的变量放入了地址A。

C语言中怎么定义一个指针并对其进行初始化
指针变量形式参数执行流程

所以说,我们在交换两个变量的内容时使用指针形式参数去传递参数,从现象上来看貌似是将两个形式参数的内容交换了,但是从本质上来看,指针形式参数的内容其实是没有任何变化的,变化的只是这两个指针所指向的内存中的内容进行了改变。理解了这个函数的指针形式参数,接下来的内容就很理解了。
指针的定义需要用到一个特殊的符号“*”,这个符号和运算符中的乘法运算符是同一个,以后在使用的时候需要注意。
这个“*”指针运算符在做指针运算的时候具有两种含义,我们先来讲述下在定义指针变量时的用法。指针变量的定义方式为:
数据类型 *指针变量名 = 初始化值;
如定义一个指针变量“a_pt”,让其指向int类型变量a。
根据上面所写的,定义一个名叫“a_pt”的指针变量很简单,但是首先要去确定定义的这个指针变量的数据类型,一般地,我们用这个指针变量指向什么类型的变量,就将其定义成那个相应的类型。这里我们所指向的变量是int类型的,因此将这个指针变量定义成int类型。
第二点需要注意的是如何将这个指针变量初始化的时候就指向变量a,前面我们说过,指针变量最终的目的就是用来存储变量的地址,因此只需要在指针变量“a_pt”初始化的时候,将变量a的地址赋给这个指针变量即可。那么如何获取变量a的地址呢?只需要在变量前面加“&”符号即可返回变量a的地址。我们可以写个简单的程序,先定义一个变量a,然后用“&”符号获取其地址,再将这个地址打印出来。
C语言中怎么定义一个指针并对其进行初始化
获取变量地址并打印

在我们顺利获取到变量地址之后,只需要将这个地址直接赋值给我们定义的指针变量即可。
C语言中怎么定义一个指针并对其进行初始化
指针变量的定义

我们定义了一个整形类型的指针,并且将其指向变量a。当然,根据我们指向对象的不同,我们还可以定义如char类型,long类型,float类型这些简单的数据类型指针,甚至还可以定义后面会学习的指针数组,结构体指针等复杂的数据类型指针。

“C语言中怎么定义一个指针并对其进行初始化”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI