void *p = NULL; int a = 3; (int*)p=a; 有错误吗
时间: 2024-06-02 08:12:08 浏览: 11
有错误。这段代码应该是 `p = (void*)&a;`。
解释:首先,`p` 是一个指向 `void` 类型的指针,表示它可以指向任意类型的数据。而 `a` 是一个 `int` 类型的变量。如果想让 `p` 指向 `a` 的地址,需要将 `a` 的地址强制转换为 `void` 类型的指针,即 `p = (void*)&a;`。强制类型转换的语法是将要转换的类型放在括号中并放在变量名之前。
在你的代码中,尝试将 `a` 的值转换为指针类型,并将结果存储在 `p` 中,这是不正确的。
相关问题
void *p = NULL; int a = 3; 怎么将a的值复制给*p
可以通过将指针 `p` 指向变量 `a` 的地址,然后使用解引用操作符 `*` 来将 `a` 的值赋值给 `p`。
示例代码如下:
```
void *p = NULL;
int a = 3;
p = &a; // 将指针p指向变量a的地址
*p = a; // 通过解引用操作符将a的值赋值给p
```
需要注意的是,此时 `p` 的类型为 `void*`,无法直接进行解引用操作,需要先转换为对应类型的指针才能进行操作。
int a = 10; char *p = NULL: p = &a; printf(p);输出是什么
这段代码会出现编译警告,因为 printf 函数中使用了 char * 类型的指针 p,但是传入的参数是 int 类型的变量 a 的地址,这会导致类型不匹配。
即使忽略编译警告,程序也会出现运行时错误,因为 printf 函数在执行时会按照字符类型解析传入的参数,但是传入的参数是一个整型变量的地址,因此会导致输出结果不确定,甚至会导致程序崩溃。
因此,这段代码的输出结果是不确定的,应该避免这种类型不匹配的操作。如果想要输出变量 a 的值,应该使用以下代码:
```
int a = 10;
printf("变量 a 的值为:%d\n", a);
```
或者使用以下代码将变量 a 的地址强制转换为 void* 类型指针,然后输出该指针的值(注意不要使用 %s 或者 %c 格式化字符):
```
int a = 10;
void *p = (void *)&a;
printf("变量 a 的地址为:%p\n", p);
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)