百度
360搜索
搜狗搜索

指针变量和指针的区别,指针和指针变量的区别详细介绍

本文目录一览: 指针与指针变量的概念是什么?

指针变量,就是一个存放地址的变量,通常定义整形,实型等变量后,系统给变量分配一定的内存单,用来存放数据的,而定义一个指针变量给它分配的空间是用来存放地址的。且只能存放地址。
指针是一个概念
指针变量是指针概念的一个实例
1、指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。
有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。
2、指针变量是指存放地址的变量。因地址的改变而做出指定性质的衡量变法。
扩展资料:
指针变量定义:
1、定义指针变量的一般形式如下:
类型名*指针变量名1,*指针变量名2,... *指针变量名n ;
2、空指针
空指针是一个特殊的指针,它的值是0,C语言中用符号常量NULL(在stdio.h中定义)表示这个空值,并保证这个值不会是任何变量的地址。空指针对任何指针类型赋值都是合法的。一个指针变量具有空指针值表示当前它没有指向任何有意义的东西。
3、void指针
(void *)类型的指针叫通用指针,可以指向任何的变量,C语言允许直接把任何变量的地址作为指针赋给通用指针。
但是需要注意void*不能指向由const修饰的变量,例如const int test; void * ptv; ptv = &test;第三句是非法的,只有将ptv声明为const void * ptv;,上述第三句ptv = &test才是合法的。
当需要使用通用指针所指的数据参加运算时,需要写出类型强制转换。如通用指针ptv 所指空间的数据是整型数据,p是整型指针,用此式转换:p=(int *)ptv;
参考资料来源:百度百科-指针变量
参考资料来源:百度百科-指针

指针和指针变量的区别是什么?

指针,其实就是一个内存地址
指针变量,就是存放内存地址的变量,也就是存放指针的变量,
这样说,通俗了吧,他们之类不应该讲区别,而是应该讲关系,
指针是一个地址,而指针变量时存放地址的变量。
*的意思是“指向”。
地址应该对应地址。
变量的指针就是变量的地址。
存放变量地址的变量是指针变量。
允许用一个变量来存放指针,这种变量称为指针变量。
因此,一个指针变量的值就是某个变量的地址或称为某变量的指针
比如:
int
a;//变量
int
*p;//指针变量
p=&a;//p就是变量a的指针,你可以叫它变量指针
可以这么理解,
指针指向的是一个地址,但这个地址里面可能是一个变量,也可以是个常量,或者是其它类型...
指针是一种类型,指针变量是变量,不是一个东西。
就像int

int
j;

j的区别一样。
类型不实际占用内存空间,但是它有大小。比如int的大小是4,而它的实例j占用4个Byte。
指针本身也就是个地址,你的第三个问题没怎么看明白,
str
的确存的是你申请到的内存空间的地址,但pstr存的是str的地址。
关于使用内存查看器的问题,多级指针的话VS是带逐级展开功能的,请注意你看的是pstr本身还是它所指向的内容。

c++中指针与指针变量什么区别

指针就是一个4字节的装了地址的内存空间,指针变量:变量顾名思义就是可以重新赋值的指针,即里面4字节的地址可以变换的,指针一般都是变量,除非加了const的 为不能更改的 就是常量了
c++中指针是一个地址,是指向一个数据的存储地址,如int a;int *p=&a,即指变量a的地址;而指针变量是把存放数据的地址存放在一个变量中,先找到变量中的地址,再由此地址找到数据,所以说基本上是一样的。
一样的,C++程序设计(谭浩强编著)课本有问题,指针与指针变量是一样,地址与指针才不同。
指针是指某一变量的地址,而指针变量是指变量地址的值。
指针变量存放的是数据的地址
指针是指地址,指针变量是指存储地址的变量
指针的基本概念
在计算机中,所有的数据都是存放在存储器中的。 一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等。为了正确地访问这些内存单元, 必须为每个内存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。
既然根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。
对于一个内存单元来说,单元的地址即为指针, 其中存放的数据才是该单元的内容。在C语言中, 允许用一个变量来存放指针,这种变量称为指针变量。因此, 一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。

指针变量就是指针么

不是,指针和指针变量是两种不同的概念。
指针,即变量的地址;
指针变量,它也是一个变量,其中存放的是另外一个变量的地址;

C++指针和指针变量是一个意思吗

指针变量,就是一个存放地址的变量,通常定义整形,实型等变量后,系统给变量分配一定的内存单,用来存放数据的,而定义一个指针变量给它分配的空间是用来存放地址的。且只能存放地址。
先弄懂c语言的指针,c的指针很好立即!也就是java中的引用,所谓指针,更多的是指,实质性在内存中改变了,原本变量的值!
不是,指针是一种类型,表示变量的地址,指针变量就是指向规定类型变量的一个指针

指针与指针变量有何相同点和不同点?

相同点是:
1.它们是可以象存储器一样使用的读写设备;
2.可以用它来向子程序传递参数,也可以从子程序返回参数,以及用来存储计算的中间结果.
不同点是:
间接寻址是指用指针来访问存储区数据。指针以双字的形式存储其它存储区的地址。只能用V存储器、L存储器或者累加器寄存器(AC1、AC2、AC3)作为指针。要建立一个指针,必须以双字的形式,将需要间接寻址的存储器地址移动到指针中。指针也可以作为参数传递到子程序中.
注意:AC0只能存入指针变量中的数值.不能做指针.
AC0在字或双字中处于最低8位;而AC1是比AC0高8位;

指针变量和指针的区别是什么?

区别:
以下面的情况说明:
1、int a = 5;
int* p = &a;
结论:
*p 是指针变量p指向的变量a的存储内容,*p = 5;
p 是指针变量的存储内容,因为p指向a,所以p的存储内容(存储空间的值)就是系统为变量a分配的存储地址;
2、分析:
int a = 5;
int* p = &a;
int* q = p;
3、【说明】
1)上面的程序中首先声明了一个int类型的变量a,初始化为5;这个过程为:
2)在初始化时,存储空间存储的是int型的值5,存储地址是由系统自动分配的,同理要声明一个指向a的指针,在初始化的时候赋值给指针变量的值应该是变量a的存储地址,故而有 int* p = &a;
4、在下面的程序中:
int arr[] = { 1, 2, 5, 7 };
int* parr = arr;
同理,要是声明另外一个int类型的指针变量q:
1)int* q = p;
声明了一个int类型的指针变量,并将指针变量p的值赋予q,同样是变量,a = 5,5是变量a的存储空间的值,那么p=?,p等于p存储空间的那个值,即p=#ffa1(a的存储地址);
现在将这个值赋给了指针变量q,正如a初始化的过程一样,int a=5的过程,是将5存储在了int类型变量的存储空间之中,初始化指针变量q时,也是将等号右边的值存储在q的存储空间之中,上边的操作的结果如下:
使得指针变量q指向了变量a。
5、【说明】
从上面的操作可以看出,&p代表的是指针变量p的存储地址。
int* q = *p;
声明了一个指针变量q,并对其初始化,这一过程的操作如下:
为指针变量q初始化,q的存储空间中存储的值为5.
【说明】
1、从上面的操作可以看出,是将*p的值赋给了q,p指向变量a,p=#ffa1,而*p的过程就是获得p地址处的存储空间的值,即*(#ffa1)=5,也就是将5赋给了指针变量q,q的存储空间存储的是5;
2、指针变量是指向某一变量的变量,在其存储空间中存储的一般是其他变量的存储地址,上面的初始化过程int* q = *p;是非常危险的,有可能造成程序奔溃。

指针和指针变量的区别

一个变量的(内存)地址称为该变量的“指针”,通过指针能找到以它为地址的内存单元。而指针变量是用来存放另一个变量的地址的(即指针)。
指针:就是地址
指针变量就是存地址的变量。
指针,其实就是一个内存地址
指针变量,就是存放内存地址的变量,也就是存放指针的变量
指针指向的是一个地址,但这个地址里面可能是一个变量,也可以是个常量,或者是其它类型...
用例子来看一下。
int a=3;
int *p;
p=&a;
现在来看一下。a=3这个式子先解释一下
等式右边是常量,左边是变量。
同理的
p=&a,左边的是指针变量,右边的是指针
指针的基本概念:为了区别内存的不同位置,内存被分成字节,内存的全部字节顺序地赋予一个称为地址的编号。程序中的变量将在内存中占据一定的内存字节,在这些字节中存储的数据信息称为变量的内容。
一个变量占用连续的若干个内存字节时,最前面的一个字节的地址就作为该变量的地址。指针就是内存地址,是变量的地址,或函数的入口地址。变量的地址在程序执行时,起着非常重要的作用。当计算机在计算含有变量的表达式时,计算机按变量的地址取出其内容,并按变量的地址将计算结果存入到变量占据的内存中。
如代码:  int x=l;  x=x+2;  其中语句“x=x+2;”中的第一个x涉及到变量x占据的内存,第二个 x是引用变量 x的内容。该语句的意义是“取X的内容,完成加上2的计算,并将计算结果存入变量X占据的内存中。”  
指针变量和它所指向的变量:在C语言中,地址也作为一种值,能被存储、比较、赋值,并称地址数据为指针类型,而称存储地址值的变量为指针变量,简称指针。C程序可用运算符&取变量的地址,如表达式&x的值就是变量X的地址。程序除能按名引用变量外,也可利用变量的地址引用变量。按变量名引用变量称为直接引用,而将变量A的地址存于另一变量B中,借助于变量B引用变量A称为对A的间接引用。  
定义指针变量的一般形式为:  类型 * 指针变量名;  或  类型 * 指针变量名=初值表达式;  其中,指针变量名是标识符,指针变量名之前的符号“*”,表示该变量是指针类型的。而最前面的“类型”,表示该指针变量能指向变量或函数的类型。初值表达式是一个地址表达式,如表达式中有某变量的地址表达式,则这个变量应是前面已定义的。  
在C语言中,当定义局部指针变量时,如未给它指定初值,则其值是不确定的。程序在使用它们时,应首先给它们赋值。误用其值不确定的指针变量间接引用其它变量,会引起意想不到的错误。为明确表示指针变量不指向任何变量,在C语言中用0值表示这种情况,记为NULL。
如  ip= NULL;  也称指针值为0的指针变量为空指针。对于静态的指针变量,如在定义时未给它指定初值,系统自动给它指定初值0。  
指针变量取程序对象的(开始)地址值,不能将一个整型量或任何其它非地址值赋给一个指针变量。另外,指针变量对所指向的对象也有类型限制,不能将一个不能指向的对象的地址赋给指针变量。
如有以下定义:  int i=100,j,*ip,*intpt;  float f,*fp;  以下代码如注释所叙。  iP=&i;/*使ip指向i*/  intpt=ip;/*使intpt指向ip所指变量*/  fp= &f;/*使fp指向正*/  ip=NULL;/*使 ip不再指向任何变量*/
拓展资料:在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为"指针"。
意思是通过它能找到以它为地址的内存单元。 在高级语言中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通用暂存器的地方,但它可能只适用于合法地址之中。指针参考了存储器中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。
作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。
指针是程序设计语言的一个重要概念。指针在C程序中有以下多方面的作用:  
利用指针能间接引用它所指的对象。  
利用各种类型的指针形式参数,能使函数增加描述能力。  
指针与数组结合,使引用数组元素的形式更加多样、访问数组元素的手段更加灵活。  
指针能用来描述数据和数据之间的关系,以便构造复杂的数据结构。当一个数据A要关联另一个数据B时,在数据A中增加一个指向数据B的指针就可实现数据A关联数据B。结合系统提供的动态分配存储设施,又能构造出各种动态数据结构。

指针变量和变量指针的异同

指针变量是变量,用于存放指针,或者说存放地址
变量指针是指针,是变量的地址
指针变量可以存放变量的指针,存放了变量的指针的指针变量可以访问那个变量的存储区,间接地修改或读取它的值

阅读更多 >>>  指针作为函数参数,指针作为函数参数有什么特点?

网站数据信息

"指针变量和指针的区别,指针和指针变量的区别"浏览人数已经达到23次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:指针变量和指针的区别,指针和指针变量的区别的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!