I can understand the difference between a signed char
and an unsigned
one. But dont the pointers of the corresponding type equivalent in their operation? Cos sizeof(char)
and sizeof(unsigned char)
is always the same ( Or are there any counter examples? )
For pointers, only the size of the data type should matter. Are there any pitfalls if I use char *
and unsigned char *
interchangeably?
I din't find these posts as useful :(
Difference between unsigned char and char pointers
Why short* instead of char* for string? Difference between char* and unsigned char*?
Here is a counter example based on the difference in ranges of types pointed by each pointer type:
#include <stdio.h>
int main() {
unsigned char *uc;
char *c;
unsigned char v = 128;
uc = &v;
c = &v;
if (*uc != *c)
printf("there is difference\n");
return 0;
}