吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1821|回复: 22
收起左侧

[求助] 简单c语言的指针

[复制链接]
18362374790 发表于 2019-11-12 08:43
本帖最后由 18362374790 于 2019-11-12 09:00 编辑

#define N 10   //定义符号常量,10
int *fun(int a[N],int n)
{      int b[N];      
......      
return b;
}
main()
{      int w[N],*p;  
    ......     
p=fun(w,N);
      ......
}
这个p=fun(w,N)中(w,N)就是指整个数组w吗,经常看到这种类型

免费评分

参与人数 1热心值 +1 收起 理由
北方小白兔 + 1 有用赞一个

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

枣子哥 发表于 2019-11-12 08:51
感谢分享相互探讨
angel8327 发表于 2019-11-12 08:54
将数组w(N)做为un()的参数,N是告诉fun()函数 数组w(N)的长度,因为将数组传递过去时,函数并不知道你的数组有多长,你不排下版,代码看起来好难受
luoluoovo 发表于 2019-11-12 08:54
代码尽量用插入来排版,太乱了。
你说的w是数组的首地址,c语言的一维数组都是取数组的首地址
so_so_so 发表于 2019-11-12 08:57
文字格式有问题,看不方便。
15345539870 发表于 2019-11-12 08:57
不懂     ---
露哥爱破解 发表于 2019-11-12 08:59
大神  支持 支持
 楼主| 18362374790 发表于 2019-11-12 09:04
luoluoovo 发表于 2019-11-12 08:54
代码尽量用插入来排版,太乱了。
你说的w是数组的首地址,c语言的一维数组都是取数组的首地址

请问哪里有比较全和详细的函数作用的文章吗
kang000 发表于 2019-11-12 09:09
这里的w是作为fun函数的参数传递,本身只是指向数组w[0]的首地址,因为在传递参数的过程中没有数组长度的信息,所以在调用的函数中需要再传递N来表示w数组的长度信息。
fun(w, N),这样在函数中就可以知道w数组的长度了;
而fun(w),这样你会发现在函数fun中使用sizeof(w)得到的是4字节,而不是数组的长度,那么也就不知道w数组的边界,无法使用数组了。


luoluoovo 发表于 2019-11-12 09:16
18362374790 发表于 2019-11-12 09:04
请问哪里有比较全和详细的函数作用的文章吗

文章我没看过,都是看书的。像这种问题你可以自己尝试调试,去看看程序的内存就能理解了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 00:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表