获取一块内存的方法,有两个方法
一维指针做函数参数
第一:return
char
这个方法简单,容易理解。
第二:用二级指针。
voidGetMemory
注意,这里的参数是&str 而非 str。这样的话传递过去的是 str 的地址,是一个值。在函数内部,用钥匙(“*”)来开锁: *(&str),其值就是 str。所以 malloc 分配的内存地址是真正赋值给了 str 本身。
数组作函数参数:只传递地址,将数组第一个元素指针传递到函数中
C 语言中,当一维数组作为函数参数的时候,编译器总是把它解析成一个指向其首元素首地址的指针。
同样的,函数的返回值也不能是一个数组,而只能是指针。
函数本身是没有类型的,只有函数的返回值才有类型
/*2018年1月18日13:12:45
运行完全没有问题。实际传递的数组大小与函数形参指定的数组大小没有关系。既然如此,那我们也可以改写成下面的样子:
voidfun
改写成这样或许比较好,至少不会让人误会成只能传递一个10个元素的数组。
说明
1.该文档仅供个人学习使用,版权所有,禁止商用。
2.本文由我一个人编辑并整理,难免存在一些错误。
3.为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程同步更新于微信公众号『Allen5G』。
我的微信公众号(ID:Allen5G)主要分享软件工程师进阶(嵌入式,Linux,C/C++,python,英语),程序员职业发展,如果想查看更多内容,可以关注我的微信公众号『Allen5G』