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

c语言取指针的地址

发布时间: 2022-12-18 15:54:34

‘壹’ c语言中的指针*和取地址&,谁能真正明了的告诉我用法,请举一个例子,

*的意义较多,只有放在指针前面时才是取指针指向的目标变量的值。&也有两个作用,只有放在变量前面且左值变量是匹配的指针时才是取变量地址的意思。如:
int *p,x=3,y;——要注意,这里p前的*不是p的而是int的,是声明了一个int *型指针p。
若再写p=&x;,这就是把x的地址赋给p;若再写y=*p;,那就是把p指向的x的值3赋给变量y。

‘贰’ C语言中,指向指针的指针如何取出其指向指针的地址

char **b = &a; 这次才是正确的二级指针使用方式,然后*b的值就是a,**b就是a指向的第一个字符。

‘叁’ C语言-指针与取地址符问题

scanf及fscanf、sscanf等函数的原理是将数据读入到以某个内存地址为起始的长度为格式控制字符串给定的数据类型长度对应的连续内存空间内。例如scanf("%d",0x401040)代表从输入流中读取一个整型数,并将它保存到内存地址0x401040开始的相当于int型长度的内存空间内(x86上为4个字节)。因此,对于整型变量a来说,应该用scanf("%d",&a)代表将数据读入并保存到a对应的地址空间内。这是&stu[i].grade前面为什么需要取地址符&的原因。而对于char id[10]来说,id是一个char型数组名同时也是指向该数组首元的指针名,即id是一个char*型指针。而我们都知道指针本身保存的就是内存地址的值,因此直接用scanf("%s",id)就可以将一串字符读入id所指向的内存空间内。注意前面的格式控制符%s代表一个不含空白符号的字符串。

‘肆’ C语言指针指定地址

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

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

‘伍’ c语言中"&取地址"是什么意思

找到变量在内存空间的位置,对变量进行操作时,会找到该处。

‘陆’ c语言怎么输出指针地址

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