如何将char数组转换为unsigned int?

Jak*_*nds 2 c arrays pointers char unsigned-integer

我有以下代码:

volatile unsigned int * address;
char * array="0x10000008";
Run Code Online (Sandbox Code Playgroud)

请告诉我,将"数组"值写入"地址"变量的正确方法是什么?

Pau*_*l R 6

你可以使用sscanf:

#include <stdio.h>

sscanf(array, "%p", &address);
Run Code Online (Sandbox Code Playgroud)

或者strtoull:

#include <stdlib.h>

address = (unsigned int *)strtoull(array, NULL, 0);
Run Code Online (Sandbox Code Playgroud)