| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 559 人关注过本帖
标题:新手学习C语言求大神带。
只看楼主 加入收藏
zh118458
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-2-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
新手学习C语言求大神带。
void shuzu(int **a,int b)
{   
    //malloc
    *a = malloc(sizeof(int)*10);
    int i;
    for(i=0;i<b;i++)
    {   
        *(*a+i) = i;
    }
}



*a = malloc(sizeof(int)*10);
这句话怎么理解?
搜索更多相关主题的帖子: C语言 
2015-02-10 10:23
sefeeee
Rank: 2
等 级:论坛游民
帖 子:11
专家分:25
注 册:2015-2-9
收藏
得分:5 
*a = malloc(sizeof(int)*10); //error
你写成 int *a = malloc(sizeof(int)*
图片附件: 游客没有浏览图片的权限,请 登录注册
10);
2015-02-10 11:25
sefeeee
Rank: 2
等 级:论坛游民
帖 子:11
专家分:25
注 册:2015-2-9
收藏
得分:0 
指针变量a可以当成一个一维数组使用
2015-02-10 11:27
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:5 
就是分配内存啊

三十年河东,三十年河西,莫欺少年穷!
2015-02-10 13:46
大爱CATs
Rank: 4
来 自:重庆
等 级:业余侠客
威 望:3
帖 子:108
专家分:250
注 册:2015-1-13
收藏
得分:5 
sizeof(int)*10就是一片空间大小,malloc函数分配了这么大的空间,函数的返回值为该片空间的首地址,将他赋给了a。
我也是新手
如有问题,欢迎指正

弹指一挥间
2015-02-13 17:51
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
關於malloc()分配内存的尺寸,看看下面測試程序的結果:
图片附件: 游客没有浏览图片的权限,请 登录注册


授人以渔,不授人以鱼。
2015-02-14 01:18
lovely_shen
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-2-23
收藏
得分:0 
回复 2楼 sefeeee
他写的 *a = malloc(sizeof(int)*10);
        是对的
   他的**a在函数参数已经定义,可以在函数中直接使用,
如果再定义一次就会出现重定义错误
这个程序是定义二级指针参数**a
由其一级指针*a用malloc在堆区动态申请10个int类型的内存
然后由二级指针**a将其申请内存地址带出去
2015-02-23 09:38
快速回复:新手学习C语言求大神带。
数据加载中...
 
   



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

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