① c语言指针和结点之间的区别是什么
指针是指针,它是存放地址的,而链表中的结点使用了指针表示每一个结点的地址,比如你在创建一个结点时struct student{ char name[20]; int age; struct student *next; }(struct student)malloc(sizeof(struct student));这就是你创建的一个结点的大小而成员next则是一个指针用来指向下一个节点的地址,所以每一个结点存放的是一个student的信息。
② c语言指针的概念
指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时, 指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要多编程,上机调试。只要作到这些,指针也是不难掌握的。
指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等, 在第二章中已有详细的介绍。为了正确地访问这些内存单元, 必须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。 既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。 内存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通俗的例子来说明它们之间的关系。我们到银行去存取款时, 银行工作人员将根据我们的帐号去找我们的存款单, 找到之后在存单上写入存款、取款的金额。在这里,帐号就是存单的指针, 存款数是存单的内容。对于一个内存单元来说,单元的地址即为指针, 其中存放的数据才是该单元的内容。在C语言中, 允许用一个变量来存放指针,这种变量称为指针变量。因此, 一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。图中,设有字符变量C,其内容为“K”(ASCII码为十进制数 75),C占用了011A号单元(地址用十六进数表示)。设有指针变量P,内容为011A, 这种情况我们称为P指向变量C,或说P是指向变量C的指针。 严格地说,一个指针是一个地址, 是一个常量。而一个指针变量却可以被赋予不同的指针值,是变。 但在常把指针变量简称为指针。为了避免混淆,我们中约定:“指针”是指地址, 是常量,“指针变量”是指取值为地址的变量。 定义指针的目的是为了通过指针去访问内存单元。
既然指针变量的值是一个地址, 那么这个地址不仅可以是变量的地址, 也可以是其它数据结构的地址。在一个指针变量中存放一
个数组或一个函数的首地址有何意义呢? 因为数组或函数都是连续存放的。通过访问指针变量取得了数组或函数的首地址, 也就找到了该数组或函数。这样一来, 凡是出现数组,函数的地方都可以用一个指针变量来表示, 只要该指针变量中赋予数组或函数的首地址即可。这样做, 将会使程序的概念十分清楚,程序本身也精练,高效。在C语言中, 一种数据类型或数据结构往往都占有一组连续的内存单元。 用“地址”这个概念并不能很好地描述一种数据类型或数据结构, 而“指针”虽然实际上也是一个地址,但它却是一个数据结构的首地址, 它是“指向”一个数据结构的,因而概念更为清楚,表示更为明确。 这也是引入“指针”概念的一个重要原因。
③ 关于c语言的指针
这个程序的指针变量经过p=&q,等于把变量q的地址赋给了指针变量p!也就意味着!这两个变量代表着同一个地址单元的不同形式,p是地址,q是该地址存储的值!利用scanf(“%d”,p) 与scanf(“%d”,&q) 是一样的!那么底下打印语句,打印的是q,因此是变量的值,不是地址!如果想打印地址,可把q换成p!
还有书上是写出来的,有可能出错!到计算机运行程序!是不会出错的!一切以计算机运行出来的为准! 出现书上的和运行出的结果不同!计算机为准!通过分析!可以学到不少东西!
④ C语言中指针*和&
BSTreeNode *& head中head是指向BSTreeNode的指针,BSTreeNode *root中root也是指向BSTreeNode的指针
不同的是前者是引用传递,后者是值传递,*&不是一个算符,*代表指针,而&代表引用传参方式
⑤ C语言,貌似与指针有关
使用指针的原则:
/* 1。定义时初始化为空 */
int *p=NULL;
/* 这里给指针赋值或者其他操作 */
/* 2。使用时判断 */
if(p!=NULL)
{
/* 这里使用指针 */
}
这样就不会错了,不能怕麻烦。
⑥ C语言中指针和引用的区别
指针,全称为指针变量,是用来存储内存地址的一种变量。程序中,一般通过指针来访问其指向的内存地址中的内容(数据)。
引用,是C++中提出来的一种新的使用变量的方式,即,给实际变量起个别名,通过这个别名来引用实际的变量。标准C中不支持变量的引用。
这两个概念没有任何相关性。
指针是实实在在的变量,有自己的内存存储空间,它可以指向任何有效的变量。
引用是一种形式、方法,定义的引用变量,实际上是原实际变量的另一个名称(别名),引用变量本身没有自己的实际存储空间,操作引用变量,就是在操作实际变量。
如:
⑦ c语言 指针 的&和*的到底在干嘛。
a是数组,数组名在绝大多数情况下,使用形式上等同于地址的使用形式,但是,a是数组名,不是地址,你要混淆了,那就说明你老师教错了。
*就是取内容,&就是取地址,就记住这点就够了, 说得再多都是废话,没用的废话
⑧ C语言里面的指针和地址有什么区别
基本上没有区别,c++仅仅只是在c语言的基础上增加了面向对象的概念,所有它又被称为是“带类的c”,因此,c++在指针操作上增加了指向对象的指针(引用);但究其本质而言,指针仍然是内存中的地址,这一点没有改变.
⑨ c语言指针的指针是什么
指针存储的是变量的地址,指针本身可以看做一个整型变量,它在内存中有一个地址。那么指针的指针储存的就是一个指针的地址。
⑩ c语言的指针部分 *p与p区别
c语言的指针部分 *p与p区别如下:
1、作用不同
*p表示此指针指向的内存地址中存放的内容。
p是一个指针变量的名字,表示此指针变量指向的内存地址。
2、输出内容的格式不同
*p常用在一个和指针类型一致的变量或者常量。
p输出一个指针的地址,通常是输出一个16进制的数。
3、效果不同
*p是让编译器从指定的地址中读取出数据。
p是用来存放要读取数据的地址。
(10)c语言与指针扩展阅读
C语言中使用指针的作用:
1、指针使程序的不同部分能够共享数据
类似于共享内存,如果将某一个数据值的地址从一个函数传递到另外一个函数,这两个函数就能使用同一数据。
2、利用指针,能在程序执行过程中预留新的内存空间
大多数情况下,可以看到程序使用的内存是通过显式声明分配给变量的内存。但是在很多应用场合中,可能程序运行时不清楚到底需要多少内存,使用指针可以让程序在运行时获得新的内存空间,并让指针指向这一内存更为方便。
3、指针可以用来记录数据项之间的关系
在高级程序设计应用中,指针被广泛应用于构造单个数据值之间的联系。比如,程序员通常在第一个数据的内部表示中包含指向下一个数据项的指针(实际上就是链表了),来说明这两个数据项之间有概念上的顺序关系。