在C中更改指向整数的值

时间:2011-04-17 08:30:31

标签: c heap

我想在堆中声明一个新的整数,

int *intPtr = (int*) malloc(sizeof(int));

如何更改*intPtr指向的堆中空间的值? 感谢

2 个答案:

答案 0 :(得分:3)

取消引用intPtr

*intPtr = 0;

答案 1 :(得分:3)

首先,您不需要转换malloc的结果。 malloc返回一个void *,void *被隐式地转换为任何指针(int *,char *,...)。

所以:

int *intPtr = malloc(sizeof(int));

你也可以写:

int *intPtr = malloc(sizeof *intPtr);

如果要更改intPtr指向的值,只需使用取消引用运算符'*',如:

*intPtr = <new_value>

您的新整数值在哪里。