#include #include int main (int argc, char** argv) { char* data = argv[0]; /* Just to get a valid pointer */ unsigned int offset = 3; printf ("Original: %p\n", data); data += offset; printf ("+3 : %p\n", data); data += -offset; printf ("-3 : %p\n", data); assert (data == argv[0]); /* Works on 32-bit systems, fails on 64-bit */ return 0; }