当前位置:首页 » 编程语言 » c语言里面地址和指针是什么关系
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言里面地址和指针是什么关系

发布时间: 2022-07-15 02:56:21

Ⅰ 哪位好心的哥哥姐姐,帮我解释一下c语言中指针和地址的关系啦,还有指针是怎样运用的

指针,全称是指针变量,如:char *pc ; pc是指针变量,我习惯上叫他指针
这些习惯上的叫法,其实没有真正体现它们的实际意义!我们来看定义:
指针变量(定义):存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址(我们可以根据这个地址获取到数据的值)。

地址是指内存地址,数据和应用程序在内存中存放时,内存是有编号的,这个编号就是我所说的地址。
C中任何一个数据(包括常量、变量、函数等)在应用程序运行时,都有自己的内存地址,我们通常是通过地址来访问他们的。

Ⅱ C语言里面的地址是什么意思,指针指向一个变量的地址

C语言里面的地址实际上就是一个内存单元的编号,计算机一般是以一个字节为最小的存储单元的,每个字节就给它编一个编号,这个编号就是这个字节的地址,这个编号也就是地址是具有唯一性的。指针指向一个变量的地址,这个类似于,通过知道房间号就可以确定这个房间的具体位置是一样的道理,这个房间编号就是房间的地址。

Ⅲ 一个C语言的指针与地址关系的问题

在c中,指针式可以运算的,比如p+1,p++ ,p+n等,但是这里的+1,+n到底是什么意思呢?注意不是真正的1,而是1个单位。一个什么单位呢,要看指针的类型。指针是int*,那么这里的+1就是+4个字节的意思,也就是+1个单位的int。如果指针式double*p,那么+1就是加1个double,也就是八个字节,如果是对象指针,也是同样。
你上面的例子q-p也不是简单的指针的值(地址)的差,而是他们两个之间的单位差,也就是qp之间差几个单位,他们是int*,也就是差几个int。所以不能用地址减完就收工,要处以4,得到单位差

Ⅳ c语言中指针就是地址,那&运算符也是地址,这话说的对吗

对!
严格说起来,应该这么讲:指针存的是地址,而&运算符是取变量的地址。
指针原理是这样的:其实计算机中的内存就像一个个抽屉(一兆内存就相当于1百万个抽屉),每个抽屉都有一个编号,用于存放数据。
为了方便使用,编译器允许我们在写程序的时候,对抽屉进行命名(而不是使用抽屉的编号),这就是变量名。就比如说我们在程序中定义:char C; 这个时候系统会帮我们找一个空闲的抽屉(比方说编号为981的抽屉),命名为C,用于存放一个字符变量。以后我们在程序里只要使用C这个变量,系统就知道是要对981这个抽屉里的数据进行操作。
而指针是什么呢?指针是我们申请一个空抽屉,里面不放数据,而放编号。比如我们申请一个字符指针:char *ch=&C; 这个时候,ch里面放的是C这个变量的地址(也就是981),其中&是取址符,也就是取C这个变量的地址,而不是值。*ch才是ch指向的值。

Ⅳ C语言里面的指针和地址有什么区别

基本上没有区别,c++仅仅只是在c语言的基础上增加了面向对象的概念,所有它又被称为是“带类的c”,因此,c++在指针操作上增加了指向对象的指针(引用);但究其本质而言,指针仍然是内存中的地址,这一点没有改变.

Ⅵ c语言中 指针的用法以及与地址的区别

果是在定义变量时候加在前面。
简单的理解,是在定义变量的时候使用呢,还是在访问变量的时候使用,就是你看它是在哪里使用,这里把指针指向的值取出来赋给b,意思是这个变量是指针变量,如
char
*a;
如果是在访问变量的时候加在前面,意思是取这个地址中指向的值,如
char
b=*a;
上面定义了a是一个字符指针

Ⅶ 关于C语言的指针与地址

**s表示指针的指针,也就是s存放的是指针的地址,它只接受指针的地址,所以你的s="computer"会报错,*s="computer"是赋值语句,就是把字符串的首地址这个数据放在s里,而*s本身又是一个指针的地址,再对他取值就是**s就是字符串的内容了

Ⅷ C语言中 地址 值 指针的关系

地址是指内存分配的一个空间,按照变量的类型而分配值是存放在地址中的数值,定义一个变量后,会为变量分配一个地址,给变量赋值就是在变量所在地址放一个值,这好比旅店,地址是房间号,而人住在房间里,人就是值一个变量的地址就是该变量的指针,即指针就是指向变量地址的一个方向标