In main
:
打印出地址argc, argv
- printf ("%d, %d", &argc, argv);
打印出该进程的命令行参数的起始地址和结束地址 -printf ("%d", (void *)argv);
打印出该进程环境的起始地址和结束地址——printf ("%d", (void *)environ);
打印出函数的起始地址main, f1, and f2
- printf ("%d %d %d", &main, &f1, &f2);
打印出地址global_x, global_y, global_array1, global_array2, global_pointer1, global_pointer2, global_float, global_double
- 只需使用&
运算符位于要打印其地址的每个变量前面。
打印出字符串文字的地址10, "Hello, world!", "bye", 100.1
- 不允许打印字符串文字的地址。
In f1
:
打印出 x1、x2、x3、x4、x5、x6 的地址 -printf ("%d %d %d %d %d %d", &x1, &x2, &x3, &x4, &x5);
打印出 f1_x、f1_y、f1_p1、f1_p2 的地址 -printf ("%d %d %d %d", &f1_x, &f1_y, f1_p1, f2_p2);
打印出字符串文字的地址"This is inside f1"
- 不允许获取字符串文字的地址
In f2
:
打印出 x 的地址 -printf ("%d", &x);
打印出 f2_p 和 f2_x 的地址 -printf("%d", f2_p, &f2_x)
;
打印出动态分配的内存的起始地址 -printf ("%d", f2_p);