C语言怎么把起始地址输出来,用十进制数字,可以吗,教教我

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言怎么把起始地址输出来,用十进制数字,可以吗,教教我相关的知识,希望对你有一定的参考价值。

参考技术A #include<stdio.h>
int main()

int a[10],b;
printf("a数组的首地址为:%d\n",a); //输出数组a的首地址,因为数组名就是数组首地址
printf("b数字的首地址为:%d\n",&b); //输出数字b的首地址,因为b不是地址,&b才是b的地址.
参考技术B int a,b[2]=0,1;
a=1;
printf("%d,%d",&a,b); //输出a,b[2]的地址
printf("%d",a); //输出a的内容
参考技术C 用强制转换啊
int addr=(int)(str);这里假设str为数据起始地址
参考技术D int a;
printf("%d %p\n",&a,&a);
前面那个就是十进制的……本回答被提问者和网友采纳

C语言怎改变文件外存地址里的数字?

把文件读出来,
在内存中把数字改了。
把原文件删除。
重新写进硬盘。
这是更改硬盘文件的一种方法。
如果你是问外存地址怎么改。那是改不了的。因为文件的读写是编译器通过调用操作系统的api来完成的。追问

嗯嗯,具体要用什么关键词呢?怎么用?

追答

首先要 fopen 打开文件流:FILE * filePoint = fopen("filename", "r");其中filename为文件名。r的意思是只读。
然后用fread或者fwrite把文件读进内存。
把要改的数字改了。
此时文件内容已经全部在内存中了。
再:关闭文件流。
再:FILE * filePoint = fopen("filename", "w");
把文件再写回去。
最后也要关闭文件流。
不知道你问的是不是这个意思?
建议你找一本书来系统地看一下文件部分。

可能你的意思是,怎么改变文件的存储路径。是不是这样?
如果是,那就复制可以了

参考技术A 1.read
2.lseek
3.write追问

能具体说说用法吗?

追答

读取文件,设置偏移位置,写入文件。

追问

比方说有个1.txt的文件在F盘下,怎么调用,才能修改1.txt的外存地址呢?

追答

不太明白你的意思,你是要把文件在硬盘里移动吗?还是更改文件的数据?

追问

更改文件的数据

以上是关于C语言怎么把起始地址输出来,用十进制数字,可以吗,教教我的主要内容,如果未能解决你的问题,请参考以下文章

C语言程序,怎么把16进制转成字符:

在C语言中怎么把一个数转换成二进制然后输出

C语言 push和pop函数可以直接用吗?

C语言怎改变文件外存地址里的数字?

c语言习题,输入一个正整数,按照从高位到低位的顺序输出各位数字。怎么做

c语言char和int可以互相赋值,但指针不能赋值,char *和int *不能直接赋值,为啥呢?谢谢