相关疑难解决方法(0)

正确的格式说明符打印指针或地址?

我应该使用哪种格式说明符来打印变量的地址?下面很多我很困惑.

%u - 无符号整数

%x - 十六进制值

%p - 无效指针

哪个是打印地址的最佳格式?

c format pointers memory-address

167
推荐指数
5
解决办法
25万
查看次数

当我们将“&”与变量关联时,我们得到的地址是虚拟地址还是物理地址?

#include<stdio.h>
 int main()
 {
   int a;
   printf(" %u ",&a);
   return 0;
 }
Run Code Online (Sandbox Code Playgroud)

我们得到的地址是进程的虚拟地址或者是进程在主存中运行时的物理地址。请帮助我很困惑!

c operating-system

5
推荐指数
2
解决办法
2543
查看次数

指向易失性数据的指针(*((volatile uint32_t*)0x40000000))

我正在分析外围驱动程序的文件,并找到了一些寄存器映射代码.我有关于指针的基本知识,但我无法理解下面的代码.

#define WATCHDOG0_LOAD_R        (*((volatile uint32_t *)0x40000000))
Run Code Online (Sandbox Code Playgroud)

我知道它定义WATCHDOG0_LOAD_R了寄存器内存地址的标识符.但我无法理解右侧的语法.任何人都可以详细解释为什么这个指针是以这种方式编写的吗?

c c++ arm

2
推荐指数
2
解决办法
3476
查看次数

C++指针 - 这里保存了什么值?

如果我有以下指针变量声明:

int*a;
int**c;

关于每种类型和价值,将如下:

a是类型int*,并将持有memory address

*a是类型int,并将保存指针指向的变量的值

c是类型int**,并将举行???????????????????

c*是类型int*,并将保持它指向的指针的内存地址

c**是类型int,并假设指针c指向指针b,指针b指向变量a,这里保持的值将是变量的值a

这种方式是否正确,除非c我不确定?

谢谢.

c++ pointers

1
推荐指数
1
解决办法
280
查看次数

当我使用错误的格式说明符时会发生什么?

只是想知道当我在C中使用错误的格式说明符时会发生什么?

例如:

x = 'A';
printf("%c\n", x);
printf("%d\n", x);

x = 65;
printf("%c\n", x);
printf("%d\n", x);

x = 128;
printf("%d\n", x);
Run Code Online (Sandbox Code Playgroud)

c format-specifiers

1
推荐指数
1
解决办法
1865
查看次数

指针地址存储器属于RAM还是硬盘?

#include <stdio.h>
int main() {
    int num=1234;
    printf("%p", &num);
    return 0;
}

//Ouput:
//0xffffcbfc
Run Code Online (Sandbox Code Playgroud)

0xffffcbfc是RAM还是硬盘地址存储器?

c

0
推荐指数
1
解决办法
161
查看次数