C语言问题-指针

来源:百度知道 编辑:UC知道 时间:2024/06/06 07:28:39
int *a;
可以可以要求*a指向某一固定的物理地址
比如*a指向地址为10的内存单元
望高手指教
该怎么写?
那能不能让一个变量存入固定的地址呢?忘指点

非常简单

楼主这样来作

int * const a = (int *)0x0a;//定义一个常量指针

这个指针只能指向一个固定的物理地址,而且不能改变。
但是它指向的地址中的变量的值是可以改变的。
*a = 100;//这是允许的

-------------------------------------
在unix下用cc编译器测试成功。
不过,10这个地址一般来说是不允许你访问的。
请不要用10来测试。

int *a;
a = 10;/*a指向地址10*/

嵌入式开发中,寄存器的读写就是直接操作内存的
volatile ULONG *pReg = (volatile ULONG *)0x56000010;
ULONG data = *pReg;/*读寄存器*/
*pReg = data;/*写寄存器*/

不会

程序在内存中的地址是随机的

固定的只是相对的地址

#include"stdio.h"
int main()
{
int *a,c[5]={1,2,3,4,5};
a=c;
printf("%d",*(a+2));

return 0;
}

int *a; //定义指针变量
int c,i; //定义变量
a=malloc(LEN); //malloc函数的作用是在内存的动态存储
区中分配一个长度为LEN的连续空间,返回
这个分配域的起始地址,LEN为你想要的空
间长度,自己确定数值
for (i=0;i<LEN;i++)
{ scanf("输入一个整数%d";&c);
*a=c; //变量c