search
Login

Categories


C Books Guide and List
C++ Books Guide and List
Best Java Books

3.8k questions

4k answers

117 comments

10.7k users

0 votes
32 views
asked Expert 11.4k points 14 22 28

1 Answer

0 votes
A void pointer is a C convention for a raw address. The compiler has no idea what type of object a void Pointer really points to. If you write
int *ip;
ip points to an int. If you write
void *p;
p doesn’t point to a void!
In C and C++, any time you need a void pointer, you can use anotherpointer type. For example, if you have a char*, you can pass it to afunction that expects a void*. You don’t even need to cast it. In C (butnot in C++), you can use a void* any time you need any kind of pointer, without casting. (In C++, you need to cast it).
A void pointer is used for working with raw memory or for passing a pointer to an unspecified type.
Some C code operates on raw memory. When C was first invented, character pointers (char *) were used for that. Then people startedgetting confused about when a character pointer was a string, when it was a character array, and when it was raw memory.
answered Guru 24.6k points 29 52 81

Related questions

0 votes
2 answers 205 views
205 views
asked allison Sr Member 1.5k points 11 26 40
0 votes
1 answer 61 views
61 views
asked carlton Sr Member 4k points 5 11 21
0 votes
1 answer 17 views
17 views
asked smith Geek 15.3k points 16 41 63
0 votes
1 answer 32 views
32 views
asked sara Guru 24.6k points 29 52 81
0 votes
1 answer 33 views
33 views
asked rock Expert 15k points 15 23 30
...