水木社区手机版
首页
|版面-C程序设计语言(CProgramming)|
新版wap站已上线
返回
1/1
|
转到
主题:关于指针,请大家看看这两段简单程序哪个有问题?
1楼
|
z16166
|
2023-12-20 16:11:32
|
展开
函数是区分形参、实参的
int *test(int b)
{
return &b;
}
这个获取的是形参b的地址,而不是传入的实参a的地址。a的值传给了b,但是a、b是两个不同的int变量。
第二个是函数返回了栈上临时变量的地址,任何时候都不要这么做
底层的细节要彻底搞清楚,绝大多数看看汇编代码就一目了然
--
修改:z16166 FROM 61.48.130.*
FROM 61.48.130.*
5楼
|
z16166
|
2023-12-20 19:49:04
|
展开
新数组一般要动态分配内存,或者传已有的数组的指针进去。
p = (int *) malloc(5 * sizeof(int));
你是在自己揣摩,还是看了啥不好的教程
【 在 sqsl 的大作中提到: 】
: 感谢大佬从原理进行的讲解
: 但是如果我需要一个函数对数组进行处理,并返回一个新数组该如何处理呢?比如下面
: 这个错误程序把数组每一项都减5
: ...................
--
修改:z16166 FROM 61.48.130.*
FROM 61.48.130.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版