标题:什么时候用动态指针、什么时候用静态指针?
取消只看楼主
FollowDream
Rank: 2
等 级:论坛游民
帖 子:33
专家分:14
注 册:2017-1-12
结帖率:33.33%
已结贴  问题点数:1 回复次数:2 
什么时候用动态指针、什么时候用静态指针?
请教大家两个有关指针的问题:

问题一是指针的定义:为什么下面代码中,(int*)这种定义方法会报错?
int return_test (int *p)
    {
    int temp;
    (*p) = (*p)+1;
    temp = *p; // 这里简化m和temp的关系,只是看看能不能既修改m又返回temp
    return temp;
    }
int main ()
    {
    int *p;
    p = (int*)123; // 这种指针定义不对么?
    for (i=0; i<10; i++) printf("%d ", return_test(p));
    return 0;
    }
这个程序运行起来报错“segmentation fault”……请问到底错在了哪里?

问题二是指针应该用动态、还是用静态:

再看上面的main函数里的指针,p = (int*)123; 那么是否有必要再写一句 p = (int *)malloc(sizeof(int)); 让指针m获取动态分配的内存空间地址?分配和不分配有区别么?什么时候用动态指针、什么时候用静态指针?
   
恳请指点!谢谢了先!
搜索更多相关主题的帖子: return 动态 
2017-01-12 17:24
FollowDream
Rank: 2
等 级:论坛游民
帖 子:33
专家分:14
注 册:2017-1-12
得分:0 
回复 3楼 ml232528
谢谢!
2017-01-13 18:25
FollowDream
Rank: 2
等 级:论坛游民
帖 子:33
专家分:14
注 册:2017-1-12
得分:0 
回复 2楼 rjsp
其实还是我的代码有点问题。谢谢!
2017-01-13 18:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-473549-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 4.579845 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved