如何用C编程语言手动分配指针地址?

你如何用C编程语言手动指定一个指针地址(例如指向内存地址0x28ff44 )?

喜欢这个:

 void * p = (void *)0x28ff44; 

或者如果你想要它作为char *

 char * p = (char *)0x28ff44; 

…等等。

如果你真的指向了某个东西,实际上并不意味着要改变,添加一个const

 const void * p = (const void *)0x28ff44; const char * p = (const char *)0x28ff44; 

…因为我认为这一定是某种“众所周知的地址”,而这些地址通常是(尽pipe绝不总是)只读的。

你的代码将是这样的:

 int *p = (int *)0x28ff44; 

int需要是您引用的对象的types,或者可以是void

但要小心,以免您尝试访问不属于您的程序的内容。

 int *p=(int *)0x1234 = 10; //0x1234 is the memory address and value 10 is assigned in that address unsigned int *ptr=(unsigned int *)0x903jf = 20;//0x903j is memory address and value 20 is assigned 

基本上在embedded式平台上我们直接使用地址而不是名字