关于C语言参数传递的新知

来源:互联网 发布:淘宝认证服务商 编辑:程序博客网 时间:2024/05/01 18:22

C不像面向对象的语言,没有重载,没有重写。

C语言传递的参数如果是指针,其只是个地址而已,记住只是地址而已。

#include <stdio.h>#include <stdlib.h>void test(char *buf, int len){        printf("sizeof(buf)=%d, len=%d\n",sizeof(buf), len);}int main(void){        char buf[10];        test(buf, sizeof(buf));        return 0;}

weeds@weeds-laptop:~/love$ ./param 
sizeof(buf)=4, len=10


执行结果如下。

分析下原因:

           buf[10], 在内存中位于堆上,是一块连续的内存区域。

           我的理论知识解释不了这个,谁解释下呗?

原创粉丝点击