[Solved] Use long** instead of char** in C main argument


I tested this on the server (I AM NOT ABLE TO RUN THIS CODE ON MY MACHINE). And apparently, the parameter a is stored in stack like char.

If I am calling my program like this

./a 12345678 

and print out *a[1] as long in hex format, I got the value 0x3837363534333231 I will say that the program did not consider my input as long even the argument type is long.

The usual way to do this is set argv as char** type and cast it back to long using pointer.

I hope this can help someone who face the same problem and please let me know if you have ideas why this code can be compiled.

According to all the answers/comments/c spec provided, it seems like it is impossible to do that.

solved Use long** instead of char** in C main argument