, .
, crt (c runtime) 3: (int), char ** char **, main.
, main, , 2 , . , , . , :
+
|
+
| args |
+
| envs |
+
int , , :
+--------+
| # args |
+--------+
| args |
+--------+ <------ stack pointer
| arg | <------ your integer, initialized in code
+--------+
| ob | <------ your struct, initialized in code
+--------+
| sample | <------ your pointer, uninitalized = garbage
+--------+
sample - .
:
+--------+
| # args |
+--------+
| args |
+--------+ <------ stack pointer
| sample | <------ pointer, uninitalized (!)
+--------+
- , , , envp, : char **. , " char", ( ). , .
, , , , ? gdb, (char**)sample , .
MSV++ 10 32- ( ):
http://img651.imageshack.us/img651/5918/69916340.png