当前位置:首页 » 编程语言 » c语言指针的地址

c语言指针的地址

发布时间: 2022-09-11 02:05:14

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

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

2. C语言中,指针指向的地址.那个地址是什么地址

那个地址 是被指向的变量的地址。
当指针刚声明完毕时,它并无指向的地址,只有当指针与 某有存储地址的变量发生联系时,才有指向地址。
例如:
int *p; // 这时 p 没有指向地址
int a=3,b=14;
p = &a; 这时 p 指向了 变量 a 的地址了.
// 数值 *p 等于 a 里存放的数值。 printf("%d", *p); 得 3。
这时,若 a = a+1; 输出 printf("%d", *p); 得 4。
p = &b; p 指向了 变量 b的地址 了,输出 printf("%d", *p); 得 14 啦。

3. 问一个关于C语言指针地址的问题

1、
&a是取a变量的内存地址,把这个地址值存入b变量逻辑上是没有问题的。
但存地址有专门的存地址的箱子的类型(int*),b是存整数的箱子类型(int)啊,所以应该进行显式(强制)类型转换,变成:
1 int a=100;
2 int b=(int)&a;

2、
在定义变量语句中的int *b和表达式中的*b确实不代表同一个意思。int *b中的*和int一起代表一种整型的指针类型,你可以将int*作为一个整体来理解,它表示一种类型。表达式中的*b才是做指针运算的,表示取出b的值所表示的地址中的值(b所指向的地址中的值)。

4. c语言中,指针和指针地址的问题。

第一次打印出来的是数组的首地址,第二次打印出来的是指针p自己的地址;指针p的本质其实也是一个用来存放地址的变量,那么既然是变量总会有地址,采用&p打印出来的就是它自己的地址。而二级指针(指向指针的指针)的本质是一个用来存放指针地址的变量;
比如int
*p;//指针;
int
**pp
=
&p;//指向指针的指针;
*pp与p是等价的

5. C语言关于指针的问题,指针的地址

printf("%s\n",p);为打印字符串,传的是字符串的地址,p就是一个指向这个字符串地址,所以没什么问题。
若你要打印这个物理地址,直接printf("%d\n",p);就可以拉,你加个*,就是取这个地址的值了,所以printf("%d\n",*p); 等于97(即ASCII码的 a 的值),printf("%d\n",*(p+1)); 等于98(即ASCII码的 b 的值)

6. c语言怎么输出指针地址

比如说一个int a,想要输出a的地,对a 直接取地址就行&a
如果有一个int型的指针int* a,则a本身就是地址,而*a表示在该地址下存储的内容

7. 关于C语言指针 地址 字节的问题

int型在编译器里是4个字节,你定义一个int型的指针,这个指针指向的就站4个字节,
变量i也占4个字节,因为他是整形,所以4个字节,这4个字节里放的是0或者1,也就是4的二进制。占4个字节的地址
p指向i,是的,p就是i4个字节中的首地址,4是存放在以这个首地址连续的4个字节中,1个字节8位,第一位代表符号,0代表正数,1代表负数,1个字节表示的数的大小限制比较小,4个字节表示一个数就可以表示比较大的数,1个字节最大的正数是2的7次方-1,4个字节就是2的31次方-1.

8. C语言指针指定地址

首先,不能这样做,你c语言操作的地址并不是真实的地址,是操作系统从内存的某一段虚拟给你的地址,每次都不一样,每个程序所使用的内存互不干扰。
第二,而你的程序退出后,所拥有的空间就被系统全部回收了。也就不存在了。否则,你c语言乱改一通,要是改到系统正在用的内存,系统不就出现异常了吗。内存并不是由你管理的,而是操作系统管理的。

假设 a程序的 p指针,指向 0xaaa地址 ,你修改 b程序的 p指针,指向0xaaa,也是无法修改的,每个程序的内存都是系统虚拟的。保证程序可以安全稳定的执行。

9. 关于c语言指针和地址问题

针对第一个问题:
&是取地址符号,数据在计算机中存储,有相应的地址能够找到.
数组头部就相当于一个指针,如果float
x[n],那么x代表着数组中的首地址,由于数组在内存占用的是连续存储空间.因此也可以用指针去得到它的数据.
你调用数组的时候,其实也就是传递数组的首地址给函数,那么就不需要&符号了.然而你想传递thetaf,这个thetaf只是个数据,想在函数中改变它的值,那么可以通过得到数据的地址,在地址中改变数据.
第二个问题
同上面回答,可以采用一个全局变量,也就是定义在函数外面的变量,最好在.C文件开始的地方.
第三个问题:
返回一个数组即返回它的首地址就可以了,如果你能够了解到计算机数据在内存中的排列,那么这个概念就非常容易理解.(浮点数和整数一样,在内存中占用4个字节,
#include
<stdio.h>
float
*
SumArray(float
*x,
float
*y,int
len)
{
float
*sum;
int
i
=
0;
for(i=0;i<len;i++)
{
sum[i]
=
x[i]
+
y[i];
//*(sum+i)
=
*(x+i)
+
*(y+i);
}
return
sum;//这里返回的是sum数组的首地址,你可以把sum理解为一个指针的地址,也可以理解为一个数组的首地址.请注意(*sum和sum[0]的地址是一样的,sum是sum[n]的首地址),如果你能区分出这个概念,指针也是小case了.
}
int
main()
{
float
x[10],y[10];
float
*sum;//float
sum[10];
int
i
=
0;
for(i=0;i<10;i++)
{
x[i]
=
i;
y[i]
=
i*10;
printf("%f\t%f\n",x[i],y[i]);
}
sum
=
SumArray(x,y,10);//将返回的传递给sum指针,或者所让sum指向数组返回的地址
for(i=0;i<10;i++)
{
printf("%f\n",sum[i]);
}
printf("%d",sizeof(float));//查看浮点数在电脑中占用的字节
return
0;
}
通过函数,可以返回一个数组,我已经调试通过.你也可以在你的电脑上调试这段程序,加深理解,
PS:如果觉得我的答案能回答你的问题,请采纳,谢谢~

10. C语言中的 指针 和 地址的关系

指针保存了某个变量的地址
而指针本身其实也是一个变量,它也有自身的地址,
而指针的内容是某个变量的地址
内存是有地址的,就像每个具体的地方都对应了唯一一个地址一样
比如我在一张纸上写了某个地方的地址
这张纸不等于地址,但是通过这张纸,你可以找到这个地方

热点内容
手机路由器如何登陆密码 发布:2025-01-12 18:35:41 浏览:463
电光猫无法连接服务器是什么原因 发布:2025-01-12 18:32:58 浏览:512
迷你世界测试服的密码从哪里打开 发布:2025-01-12 18:25:32 浏览:109
我的世界手游tis服务器 发布:2025-01-12 18:24:28 浏览:585
青海省分布式服务器云主机 发布:2025-01-12 18:12:03 浏览:475
英雄联盟安卓手机版怎么切换 发布:2025-01-12 18:10:53 浏览:380
q5尊享时尚型哪些配置 发布:2025-01-12 18:05:41 浏览:228
安卓版本哪里下载 发布:2025-01-12 18:05:39 浏览:556
mc服务器搭建搜不到 发布:2025-01-12 17:57:37 浏览:17
手机手势密码忘了怎么办 发布:2025-01-12 17:14:51 浏览:487