If you want to delete the value pointed to by a pointer, use the * operator to dereference the pointer:
#include <stdio.h>
int main()
{
int array[] = {10,20,30,40,50,60,70,80,90};
int *aWaitTime = &array[sizeof array / sizeof *array - 1];
[COLOR="darkgray"]printf("aWaitTime = %p, *aWaitTime = %d\n", (void*)aWaitTime, *aWaitTime);[/COLOR]
--aWaitTime;
[COLOR="darkgray"]printf("aWaitTime = %p, *aWaitTime = %d\n", (void*)aWaitTime, *aWaitTime);[/COLOR]
aWaitTime--;
[COLOR="darkgray"]printf("aWaitTime = %p, *aWaitTime = %d\n", (void*)aWaitTime, *aWaitTime);[/COLOR]
aWaitTime -= 1;
[COLOR="darkgray"]printf("aWaitTime = %p, *aWaitTime = %d\n", (void*)aWaitTime, *aWaitTime);[/COLOR]
aWaitTime = aWaitTime - 1;
[COLOR="darkgray"]printf("aWaitTime = %p, *aWaitTime = %d\n", (void*)aWaitTime, *aWaitTime);[/COLOR]
[COLOR="darkgray"]puts("---");[/COLOR]
[COLOR="red"]--*aWaitTime;[/COLOR]
[COLOR="darkgray"]printf("aWaitTime = %p, *aWaitTime = %d\n", (void*)aWaitTime, *aWaitTime);[/COLOR]
[COLOR="red"](*aWaitTime)--;[/COLOR]
[COLOR="darkgray"]printf("aWaitTime = %p, *aWaitTime = %d\n", (void*)aWaitTime, *aWaitTime);[/COLOR]
[COLOR="red"]*aWaitTime -= 1;[/COLOR]
[COLOR="darkgray"]printf("aWaitTime = %p, *aWaitTime = %d\n", (void*)aWaitTime, *aWaitTime);[/COLOR]
[COLOR="red"]*aWaitTime = *aWaitTime - 1;[/COLOR]
[COLOR="darkgray"]printf("aWaitTime = %p, *aWaitTime = %d\n", (void*)aWaitTime, *aWaitTime);
[/COLOR]
return 0;
}
/* my output
aWaitTime = 0022FF40, *aWaitTime = 90
aWaitTime = 0022FF3C, *aWaitTime = 80
aWaitTime = 0022FF38, *aWaitTime = 70
aWaitTime = 0022FF34, *aWaitTime = 60
aWaitTime = 0022FF30, *aWaitTime = 50
---
aWaitTime = 0022FF30, *aWaitTime = 49
aWaitTime = 0022FF30, *aWaitTime = 48
aWaitTime = 0022FF30, *aWaitTime = 47
aWaitTime = 0022FF30, *aWaitTime = 46
*/
But first make sure you don't have a null pointer.