本篇内容介绍了“C语言中怎么定义一个指针并对其进行初始化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网络空间、营销软件、网站建设、郓城网站维护、网站推广。
在C语言中,每个变量被定义好之后(Auto类型定义),编译器便会在内存的栈区为它们开辟出来内存空间来存放这些变量。这些内存空间不管是连续的还是断续的,它们都会被分配不同的地址。而如果这些变量作为形式参数传入函数的时候,实际上仅仅是把变量里面存放的常数传递给函数,而函数内部的临时变量又是这个函数被初始化的时候创立的,和调用处的传递变量不是同一个,因此不管再怎么去改写形式参数里面传递进来的内容,本质上只是改变函数内部这些局部变量的内容。
指针从一开始被设计出来的时候,其目的不是用来存储某一个具体的常量或变量,它的目的只有一个,就是存放相应变量的地址,即这个变量的内存地址。我们定义完成一个变量之后,就可以将这个指针指向这个变量了。所谓指向某个变量,说直白点就是将这个变量的地址存入指针中。当我们在用指针作为数据交换函数的传递参数时,它其实传入的是这两个变量的地址,而在函数中我们在做这两个变量内容交换时,传递进入函数的指针变量的值是不会变的,还是存放最初的这两个变量的地址,但是当我们做交换操作时,就将原本存在地址A中的变量放入了地址B,将原本存放在B中的变量放入了地址A。所以说,我们在交换两个变量的内容时使用指针形式参数去传递参数,从现象上来看貌似是将两个形式参数的内容交换了,但是从本质上来看,指针形式参数的内容其实是没有任何变化的,变化的只是这两个指针所指向的内存中的内容进行了改变。理解了这个函数的指针形式参数,接下来的内容就很理解了。指针的定义需要用到一个特殊的符号“*”,这个符号和运算符中的乘法运算符是同一个,以后在使用的时候需要注意。这个“*”指针运算符在做指针运算的时候具有两种含义,我们先来讲述下在定义指针变量时的用法。指针变量的定义方式为:如定义一个指针变量“a_pt”,让其指向int类型变量a。根据上面所写的,定义一个名叫“a_pt”的指针变量很简单,但是首先要去确定定义的这个指针变量的数据类型,一般地,我们用这个指针变量指向什么类型的变量,就将其定义成那个相应的类型。这里我们所指向的变量是int类型的,因此将这个指针变量定义成int类型。第二点需要注意的是如何将这个指针变量初始化的时候就指向变量a,前面我们说过,指针变量最终的目的就是用来存储变量的地址,因此只需要在指针变量“a_pt”初始化的时候,将变量a的地址赋给这个指针变量即可。那么如何获取变量a的地址呢?只需要在变量前面加“&”符号即可返回变量a的地址。我们可以写个简单的程序,先定义一个变量a,然后用“&”符号获取其地址,再将这个地址打印出来。在我们顺利获取到变量地址之后,只需要将这个地址直接赋值给我们定义的指针变量即可。我们定义了一个整形类型的指针,并且将其指向变量a。当然,根据我们指向对象的不同,我们还可以定义如char类型,long类型,float类型这些简单的数据类型指针,甚至还可以定义后面会学习的指针数组,结构体指针等复杂的数据类型指针。“C语言中怎么定义一个指针并对其进行初始化”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
网站栏目:C语言中怎么定义一个指针并对其进行初始化
文章起源:
http://kswsj.cn/article/jgdisg.html