I have the following code:

volatile unsigned int * address;
char * array="0x10000008";

Please tell me, what is a correct way of writing the "array" value to "address" variable?

有帮助吗?

解决方案

You could use sscanf:

#include <stdio.h>

sscanf(array, "%p", &address);

or strtoull:

#include <stdlib.h>

address = (unsigned int *)strtoull(array, NULL, 0);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top