
概念问题。
是取出内存中的数据,不是将内存取出。
取得内存中数据需要该内存的位置,位置一般称为地址;使用存储地址的指针变量就能读取内存中的数据。
只要指针中存在有效地址,而且该指针不是无类型的指针,就可以用这样的格式读写数据
变量=(pointer) //(pointer)= 数值取变量地址 这句似乎不可行,读出的是乱码,我用 取变量数据地址
版本 2支持库 spec
子程序 __启动窗口_创建完毕
局部变量 数据1, 文本型
局部变量 数据2, 整数型
局部变量 地址, 整数型
数据1 = 取空白文本 (255)‘文本型 等需要先“申请内存”
地址 = 取变量数据地址 (数据1)
写到内存 (“这是文本”, 地址, )
信息框 (指针到文本 (地址), 0, )
' 数据2 = 1
地址 = 取变量数据地址 (数据2)
写到内存 (10086, 地址, )
信息框 (取字节集数据 (指针到字节集 (地址, 4), #整数型, ), 0, )
首先更正一下楼主错误,int 型的指针不可以用来获取char型的地址的,这样会产生错误,如果你的编译系统没有报错,实际上也有错误。
第二,字符串实际上就是等于字符数组。
ptr = &str[2];
printf("%d",ptr);
reptr = (ptr);
printf("%c",reptr);
printf("\n");
这个可以输出的。就是C
ptr = &str[2];
printf("%c",(ptr+1));
输出的是第4个字符‘/0’就是“空”,可能楼主由此判断无法输出
ptr = &str[1];
printf("%c",(ptr+1));
就能输出C了
int 应该不可以,不过 int的话就可以
char str[4] = "abc";
int ptr;
char reptr;
ptr =(int)&str[0];
printf("%d",(char )ptr);
reptr = ((char )ptr);
printf("%c",reptr);
printf("\n");
实际上利用强制类型转换,用int来存数据,意义上char 和int都是整形,所以可以一定程度上转换
以上就是关于指针的内存如何取出,指针指向的内存如何取出全部的内容,包括:指针的内存如何取出,指针指向的内存如何取出、如何读取易语言指针中数据、c语言 指针 取值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)