Изменение значения указателя на целое число в C - PullRequest
0 голосов
/ 17 апреля 2011

Я хочу объявить новое целое число в куче,

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

Как изменить значение пространства в куче, на которое указывает *intPtr? Спасибо

Ответы [ 2 ]

3 голосов
/ 17 апреля 2011

Прежде всего, вам не нужно приводить результат malloc. malloc возвращает void *, а void * неявно приводится к любому указателю (int *, char *, ...).

Итак:

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

Вы также можете написать:

int *intPtr = malloc(sizeof *intPtr);

Если вы хотите изменить значение, указанное в intPtr, просто используйте оператор разыменования '*', например:

*intPtr = <new_value>

где ваше новое целочисленное значение.

3 голосов
/ 17 апреля 2011

Разыменование intPtr:

*intPtr = 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...