我想创建一个程序,该程序应分配 10kb 内存并以 4 个字节为一组打印内存地址及其内容。这是我想要的输出:
0XAABBCCEB CDCDCDCD
0XAABBCCD8 FFA0B0C0
0XAABBCCD4 00FF00FF
0XAABBCCD0 00000000
我真的不知道如何获得该输出。我知道我需要使用 malloc 并且我知道我需要使用正确的运算符以十六进制形式打印它,但我不知道如何打印内容以及如何准确分配 10kb
最佳答案
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define _10KB 10240
int main(){
int i;
uint32_t *arr;
if((arr = malloc(_10KB)) == NULL){
perror("malloc failed");
}
for(i = 0; i < (_10KB/4); i++){
printf("0x%p %.8x\n", &arr[i], arr[i]);
}
free(arr);
return 0;
}
关于c - 分配10kb内存并打印地址和内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51986342/