c - *指针 = - *指针?

标签 c pointers

我刚接触 C 语言几周,所以对它还很陌生。

我见过这样的事情

* (variable-name) = -* (variable-name) 

在讲义中,但它到底会做什么?它会否定所指向的值吗?

最佳答案

是的。当您添加星号时,意味着它指向该值。 它本质上是说:将地址(变量名)处的值变为-1*(变量名)的值。

如果您是 C 语言新手,您可能会发现使用 & 代替指针更容易。 & 本质上与 * 相反。 & 并不指向,它给出了变量的地址(我发现这是一个更简单的概念)。

以下示例演示了 *& 的使用。

#include <stdio.h>

int main(void)
{
    int blah = 6;
    int *num = &blah;
    (*num) = -(*num);
    printf("%d\n", num); //Displays num
}

关于c - *指针 = - *指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701800/

相关文章:

c - 如何对字符进行排序**?

c++ - C 或 C++ : Libraries for factoring integers?

合并数组中的全部元素并将其存储在索引 0 中

c++ - 使用整数指针操作时如何确定整数数组的结尾?

c - 在 Fortran77 子例程中传递 C 指针

c - 为什么 C 不是动态语言?

c - 字符串冒泡排序

将十六进制值转换为 int 自定义 atoi 方法

c - 为数组动态分配内存时(在 C 中),(int *) 强制转换的作用是什么?

c++模板 - 指针中的预期类型说明符