C语言指针基本概念及其指针变量的定义是什么

Python021

C语言指针基本概念及其指针变量的定义是什么,第1张

指针是常见间接访问方式.指针就像一个快捷方式,它指向内存的一个地址,可以通过指针就可以间接的访问到数据。对于计算机,访问内存的方式有两种,直接访问和间接访问。直接访问通过就是通过变量名称去访问。指针概念是构成C/C++的重要元素之一,是变量的一种类型,存放的是指定类型数据的地址,而同类型变量存放的是数据。

指针变量:就是一个变量,其值是可变的,与整形变量、浮点变量等等的命名规则完全相同。 “指针”是概念,“指针变量”是具体实现。指针类型说明,即定义变量为一个指针变量指针变量名变量值(指针)所指向的变量的数据类型。

扩展资料:

与其他高级编程语言相比,C 语言可以更高效地对计算机硬件进行操作,而计算机硬件的操作指令,在很大程度上依赖于地址。指针提供了对地址操作的一种方法,因此,使用指针可使得 C 语言能够更高效地实现对计算机底层硬件的操作。另外,通过指针可以更便捷地操作数组。在一定意义上可以说,指针是 C 语言的精髓。

根据你的定义,使用LinkList定义的变量是指针变量,而加上*即LinkList *C表示的是指向指针的指针,表示二级指针变量。

你的合并函数是一个没有返回值的函数,所以你在函数体内更改C要达到更改实参的效果,你必须传入实参的地址。

如果是一级指针,C接收实参指向的对象地址,如果此时在函数体内对C进行赋值,只是改变了函数体内C的指向,实参还是指向原来的地址。函数内是改变不了实参C本身的指向,只有传入实参C变量本身的地址,那么形参就要定义指向指针的变量来接收实参。

以上是一种方法,另外一种方法就是通过函数返回值,返回新合并的链表的头。那函数类型就可以改为:

LinkList MergeList(LinkList a, LinkList b)。

这可以多练习好好理解一下。

假设a

是一个抽屉,里面只能放一个整数,(就是所谓的int

,这个不重要),当这个抽屉存在的时候,它就已经有一个编号了(就是地址),这个号是系统编的,不能更改。而p

是另一个抽屉,里面只能放编号,p=&a,就是把a的编号放到p

这个抽屉里,现在如果你知道了p

里放的编号,你就可以按照这个编号找到这个对应的抽屉。这就对应上了,不知道你能看明白不?

a

就是10

,这里的10

就是a

,它俩是同一个东西,当然放在同一个地方,这个地方的序号比如1000,这个序号保存在p

里。

a

10在这里就是一码事,它俩指的是同一个东西,比如一只白狗叫a,这个a

就是指这只白狗,a和这只白狗此时就是一回事,同一个东西在某一时刻还能在俩地方吗?