以前在一本书上看到过一个很有趣的程序,就是:
int main()
{
int i=0;
char s[]="123";
char* p="hello,world";
print_hello();
return 0;
}就是先声明一个整型变量i,char型数组,一个指向存储在全局静态区的char型指针,然后调用函数print_hello(),但是没有参数传递,但是print_hello()函数要打印出p指向的字符串出来,这个要求对函数的调用过程很清楚,特别stack中的变化要很清楚,对C的"caller和callee规则"也要很清楚,在实现print_hello()前先学习一些必备背景知识。
本文详细解析了一个C语言程序中函数调用的过程,特别是如何通过打印函数来展示栈的变化,以及如何理解caller和callee规则。文章通过实例程序演示了如何使用全局静态区的指针来传递参数,以及如何在不传递参数的情况下调用函数,并打印出特定字符串。此教程旨在帮助开发者深入理解C语言中函数调用的基本原理。
1万+

被折叠的 条评论
为什么被折叠?



