4316|10

613

帖子

2

TA的资源

纯净的硅(初级)

楼主
 

STM32学习第四贴,指针篇,欢迎高手来喷,来指导 [复制链接]

本帖最后由 long521 于 2017-6-4 08:45 编辑

今天发的话题,其实和STM32关系不大,但是是C语言的一个知识点,因为以前的C语言的基础比较差,这个不懂的地方就搁在那了,这次学STM32又捡起来了,望高手尽量喷,使劲喷,谢谢.
void GetMemory(char *p, int num)  
{   
        p = (char*)malloc(num * sizeof(char));  
}  

void main(void)
{
        char *str = NULL;               GetMemory(str,10);
        strcpy(str,"hello");
        free(str);

//        return 0;
}

这段代码是错的,不对的,这段代码是C语言深度解剖上的,为什么不对,上面也有解释,但是完全是看得云里雾里,坛子里高手多,能否再解析一下,谢谢.谢谢.
书上的解释:没有赋给STR,赋给了-STR

昨天的代码发错了,早上已经改过,麻烦高手们再看看.
此帖出自stm32/stm8论坛

最新回复

不能你那样传递内存空间,局部变量作用域只在函数里面,运行完就释放了。 你可以改成这样 void* GetMemory2(int num) {     void *p;     p = (char*)malloc(num * sizeof(char));     return p; }  详情 回复 发表于 2017-6-16 13:36
点赞 关注
个人签名我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
 

回复
举报

855

帖子

5

TA的资源

一粒金砂(高级)

沙发
 
1.字符串常量是不能被改变的
2.不能free掉非动态申请的内存
此帖出自stm32/stm8论坛
 
个人签名作为一个菜逼,干货并没有多少。唯一会的就是水,所以回帖水分大。望见谅!
 

回复

1310

帖子

3

TA的资源

一粒金砂(高级)

板凳
 
下面这个函数想把指针变量传递给函数吗?
  1. void GetMemory(char *p, int num)  
  2. {   
  3.         p = (char*)malloc(num * sizeof(char));  
  4. }
复制代码
此帖出自stm32/stm8论坛
 
个人签名

RTEMS

 

回复

767

帖子

2

TA的资源

纯净的硅(初级)

4
 
GetMemory完全没在main函数中出现噻。。。这两个函数有啥关系额。。。
另外如果是malloc calloc realloc申请到的 可以free
如果是main函数中的这种free 可能会有问题,后面加一句
free(str);
str=NULL;
此帖出自stm32/stm8论坛
 
个人签名物致DIY 欢迎你的加入~
QQ群:646461928 公众号:智物知心致成
小店
 
 

回复

613

帖子

2

TA的资源

纯净的硅(初级)

5
 
改过了,昨天的代码是主任说的那个问题,早上代码改过了,是这段出错,书上有解释,但不是看得很明白.
此帖出自stm32/stm8论坛
 
个人签名我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
 
 

回复

613

帖子

2

TA的资源

纯净的硅(初级)

6
 
人民币的幻想 发表于 2017-6-3 22:34
1.字符串常量是不能被改变的
2.不能free掉非动态申请的内存

此帖出自stm32/stm8论坛

点评

你书上的解释是狗屁,把书扔了吧。  详情 回复 发表于 2017-6-4 12:27
 
个人签名我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
 
 

回复

6041

帖子

194

TA的资源

版主

7
 
閺屻儳婀呴張顒€绗橀崗銊╁劥鐠併劏顔戦敍宀冾嚞閻ц缍�閹存牞鈧拷濞夈劌鍞�
此帖出自stm32/stm8论坛

点评

高手,那本书还是不错的,  详情 回复 发表于 2017-6-4 13:54
 
 
 

回复

613

帖子

2

TA的资源

纯净的硅(初级)

8
 
閺屻儳婀呴張顒€绗橀崗銊╁劥鐠併劏顔戦敍宀冾嚞閻ц缍�閹存牞鈧拷濞夈劌鍞�
此帖出自stm32/stm8论坛
 
个人签名我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
 
 

回复

2774

帖子

8

TA的资源

版主

9
 
閺屻儳婀呴張顒€绗橀崗銊╁劥鐠併劏顔戦敍宀冾嚞閻ц缍�閹存牞鈧拷濞夈劌鍞�
此帖出自stm32/stm8论坛

点评

大神,高手,高高手.  详情 回复 发表于 2017-6-5 13:09
 
 
 

回复

613

帖子

2

TA的资源

纯净的硅(初级)

10
 
閺屻儳婀呴張顒€绗橀崗銊╁劥鐠併劏顔戦敍宀冾嚞閻ц缍�閹存牞鈧拷濞夈劌鍞�
此帖出自stm32/stm8论坛
 
个人签名我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

11
 
閺屻儳婀呴張顒€绗橀崗銊╁劥鐠併劏顔戦敍宀冾嚞閻ц缍�閹存牞鈧拷濞夈劌鍞�
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表