在C语言中什么是指针?指针是干什么用的?,有什么意义?

作者&投稿:帅浅 (若有异议请与网页底部的电邮联系)
C语言指针的作用有哪些?~

指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。简单地说指针就是指向变量和对象的地址。
基本说明:
1、在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等;
2、为了正确地访问这些内存单元,须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。内存单元的指针和内存单元的内容是两个不同的概念。

int a[4]={1,2,3,4}
1 2 3 4
^ ^
a[0] a[1] a[2] a[3]
a是一维数组名,代表数组的首地址.也就是a[0]
*(a+1) 指针移动2个字节,指向下一个数组元素,就是a[1]

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}
^ ^
*a[4] 或a[][4] 或a[3][4] 都可以表示行指针.
操作
a是二维数组名,代表二维数组的首地址,也就是a[0][0] = 1
*(a+1)[4] 指针指向a[1][0] = 5 ,也就是指向下一行数组元素的首地址.一次跳跃到下一行.

写简单的程序的话不用指针也行了吧. 比如, int a = 2; int* p = &a; *p = 3; 这里a是一个地址(编译后), 为了读写这个地址单元里的东西,可以用p,也可以用一般变量a. 对于指针的便利,我现在能想到的,可能是: 函数A调用函数B时,把一个内存块的地址传递过去,这样可以避免按值传递时开辟一个栈空间并逐一拷贝内存块里的值的开销(C++里的拷贝构造函数在做这件事),并且A,B函数操作的都是同一个内存块里的东西,如果这就是目的,那么传指针就是很有效率的做法(如果不用指针就可能要用一个全局的变量了). 用一个指针(函数指针)存放一系列同类型的函数名(入口地址),方便函数调用. void*类型指针可以存放任何类型指针. 让父类类型指针指向任何子类对象可以实现动态绑定. 写着写着似乎指针还挺有用,呵呵. 我相信指针的使用一定要很小心,否则可能要忍受程序报错而总找不到错在何处的痛苦. 有一些比较极端的例子, 如一个函数返回了一个函数里局部变量的指针,一用就出错; 如声明一个指针没有分配空间就传给别一函数使用; 如多个线程都在使用同一个内存块,你修我改,甚至有人把它删掉了或不小心让指针指向系统用的内存,另一个人还准备往里读写东西---可能要费心思来同步. 如指针指向的内存可能是new/malloc出来的,可能要想办法及时删除并要保证没有别的线程要用...




C语言里面指针到底是什么意思?
指针就是地址的意思,指针变量就是存放地址的变量,我们通常所说的指针指的是指针变量

论述C语言中指针的概念和作用,并举例说明
2、作用:指向这个变量或数组的首地址,是变量的间接引用方式。其值如果改变,变量的值或数组元素的值也会跟着改变。程序对变量的操作实际上是对变量所在的存储空间读取和写入数据。方便对变量的操作。举例说明:int a=3;\/*定义一个整型变量a,并赋初值3*\/ int p;\/*定义一个指针变量P*\/ p=&a;\/...

指针的定义是什么?
在计算机语言中,由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。2.指针实质 指针其实是一个整数 计算机中的内存都是编址的,每个地址都有一个符号,就像家庭地址或者IP地址一样。在C语言的多数实现中,...

指针与指针变量的概念是什么?
1、指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储...

什么是C语言的指针,能不能举例说明一下啊?大侠帮帮忙!!
指针所指向的类型 当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。 从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如: (1)int*ptr;\/\/指针所指向的类型是int (2)char*ptr;\/\/指针...

什么是指针??计算机C语言中的。
指针就是地址,是一种数据类型。内存区中的每一个字节都有一个编号,这就是“地址”,这个编号就象旅馆中的房间号码,在地址素所标志的内存单元中存放的数据,相当于旅馆中各个房间居住的旅客。指针?还要讲的形象化?那只能说是C的灵魂,精髓~!在C语言里面,说的指针其实并不是真的存在什么东西。而是...

C语言中,指针的意思是什么?FAR指针又是什么?
4.int(ptr)[3];\/\/指针所指向的类型是int()[3]5.int(ptr)[4];\/\/指针所指向的类型是int()[4]。在指针的算术运算中,指针所指向的类型有很大的作用。指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。当你对C语言越来越熟悉时,你会发现,把与指针搅和在一起的“类型”这个概念...

什么是指针?
2、在信息工程中指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中寄存器(Register)【用来指向该内存地址所对应的变量或数组】。指针一般出现在比较接近机器语言的语言,如汇编语言或C语言。面向对象的语言如Java一般避免用指针。指针一般指向一个函数或一个变量。3、另外,指针也指钟表...

C语言中“指针”和“指针变量”的区别是什么??
1、概念不同 “指针”是概念,“指针变量”是具体实现,指针也是一个变量,所以需要进行定义,而对于指针的定义,与一般变量一样。2、 存放地址不同 一个变量的(内存)地址称为该变量的“指针”,通过指针能找到以它为地址的内存单元。而指针变量是用来存放另一个变量的地址的(即指针)。

c语言指针怎么理解,什么时候会用到指针,要注意哪些方面
不靠谱的。3.指针的定义只是开设了可以访问数据区或数组的变量,数据区和数组 需要你的程序另行开设,然后把数据区或数组的某个单元的地址赋值给 指针变量,不要认定义了能访问数组的指针,数组就定义好了。4.指针存放的地址最好不要用来与其他地址比较,除非你能确认地址比 较的结果肯定是你想要的。5...

吉木萨尔县17282151757: C语言中指针是什么? -
虫薛君福: 1.指针就是1个变量,他也是一个存放内容的内存空间. 2.指针存放的内容是另一个内存空间的起始地址.不同于一般变量存放的就是变量值. 3.取值操作符*对于指针的作用是取得指针变量存放的内存地址里面的值,不加*取出的是指针变量存放的值(就是一个内存地址)上面3步,step by step 你就理解了.

吉木萨尔县17282151757: C语言里的指针是什么意思,起什么作用 -
虫薛君福: 1:指针是一个地址,指向的是个类型: 我们知道,c语言中的类型有int,char,bool(这个不常用),一般我们使用int,char就可以满足一般的类型需求的,如果对于变量的长度过大,就是用long ,float,double,关于各个类型使用的的长度问题,可以使...

吉木萨尔县17282151757: C语言指针基本概念及其指针变量的定义是什么 -
虫薛君福: 指针是常见间接访问方式.指针就像一个快捷方式,它指向内存的一个地址,可以通过指针就可以间接的访问到数据.对于计算机,访问内存的方式有两种,直接访问和间接访问.直接访问通过就是通过变量名称去访问.指针概念是构成C/C++的...

吉木萨尔县17282151757: C语言中的指针是什么意思? -
虫薛君福: 指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中寄存(Register).指针一般出现在比较近机器语言的语言,如汇编语言或C语言.面向对象的语言如Java一般避免用指针.指针一般指向一个函数或一个变量.在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的变量或函数的值. 大家都认为,c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上.因此,说指针是c语言的灵魂,一点都不为过.简单比方……比如你是一个变量,那么你家的地址就相当于是你的指针, 我可以通过找到你家地址而找到你.

吉木萨尔县17282151757: 在C语言中什么是指针?指针是干什么用的?,有什么意义? -
虫薛君福: 写简单的程序的话不用指针也行了吧. 比如, int a = 2; int* p = &a; *p = 3; 这里a是一个地址(编译后), 为了读写这个地址单元里的东西,可以用p,也可以用一般变量a. 对于指针的便利,我现在能想到的,可能是: 函数A调用函数B时,把一...

吉木萨尔县17282151757: C语言的指针,又什么用?能用通俗的话讲讲什么是指针吗?最好结合例子 -
虫薛君福: 在C语言中出现的数据都是存储在内存地址中的,为了方便的使用这些数据,我们定义了指针!例如:有这样一个整型变量:int a=1;int pointer=*a;那么pointer就是获得变量a使用权的引线!通俗的地说,指针就是指向地址空间的变量.当然,指针是很复杂的,比如高级的用法:指向指针的指针!不过指针使用不当会降低程序的可读性!指针最著名的用途就是有些函数,将实参传回,在修改形参的时候使得实际的结果改变!学好指针,对学好C语言,写出清晰的程序用处很大!在全国计算机等级考试二级考指针很多,但是三级上机和四级上机基本上不考了!

吉木萨尔县17282151757: C语言中的指针是指什么? -
虫薛君福: C中指针,其实就是“地址”;比如 int a1 = 10; int * pa = &a1; a1是一个int型的整数.它的值为10,假设它自己的地址是0000, pa是一个指针型的数据,本身是一个4字节长度的 指针数据类型.它自己的地址假设为1111,它的值被设置为a1的地址0000,我们就说pa的值是0000,pa指向a1,用取值符号*,*pa就可以得到a1的值10.

吉木萨尔县17282151757: C语言中的指针是什么!详细说明! -
虫薛君福: 指针是C语言中广泛使用的一种数据类型.运用指针编程是C语言最主要的风格之一.利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串;并能象汇编语言一样处理内存地址,从而编出精练而高效的程序.指针极大地丰富了C...

吉木萨尔县17282151757: c语言 什么叫指针 -
虫薛君福: 指针是一种数据类型,与其它的数据类型不同的是指针是一种“用来存放地址值的”变量.举一个简单的例子:如果定义了一个整型变量,根据整型变量的特点,它可以存放的数是整数.如:int a; a=100; 这样就把整型常量赋给了变量a.但是...

吉木萨尔县17282151757: C语言的指针有什么实际作用? -
虫薛君福: 指针实际上就是一个内存地址,比如一个函数指针,就是一个函数的入口地址,通过这个地址,系统就可以找到这个函数的位置并调用它.简单地说指针就是指向变量和对象的地址.指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递.还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率.以上还只是指针的初步应用,随着你在C++学习上的逐步深入,你会发现更多的用途的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网