函数形参的linkage

whoho 2008-03-05 11:31:14
对于一个函数的参数来说,是否是no linkage?看C99的时候有点迷惑,
里头好象只说到block以内的变量,却没有明确说到函数的参数...

int fun(int x)
{
return x;
}

上述程序中,x是否是no linkage?




倒是C++里定义的linkage比较明确:
因为函数参数不能在函数以外通过名字引用,因此是no linkage



C99与C++98在这点的区别好像是:一个以block为基准,一个以scope为基准
...全文
150 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
IlikeEnglish 2008-03-05
  • 打赏
  • 举报
回复
C89 也是这样的。
whoho 2008-03-05
  • 打赏
  • 举报
回复
C89也是这样的么?
羽中漫步 2008-03-05
  • 打赏
  • 举报
回复
楼主C功力之深厚,着实让小弟佩服
IlikeEnglish 2008-03-05
  • 打赏
  • 举报
回复
是的,no linkage ,在栈上分配内存的变量都没有链接,没有提供外部链接符号。
babyvox1999 2008-03-05
  • 打赏
  • 举报
回复
no linkage
IlikeEnglish 2008-03-05
  • 打赏
  • 举报
回复
parameter 也属于block
IlikeEnglish 2008-03-05
  • 打赏
  • 举报
回复
读标准不可断章取义,通读n便就领会其措辞的严密性了。
whoho 2008-03-05
  • 打赏
  • 举报
回复
其实从原理上说我也大体能明白自动变量生存期,
只不过是对标准的叙述感觉有些疑问
abupie 2008-03-05
  • 打赏
  • 举报
回复
no linkage
chlaws 2008-03-05
  • 打赏
  • 举报
回复
block 从函数开始,int x 还是属于的block,分配在了堆栈上...

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧