annqlm 发表于 2018-5-9 20:53:45

动态内存管理

eg:
char*array;
array=(char *)malloc(123)


按道理来说,array是个指针,为什么可以这样子用:array='x'
把array当成数组在用?
希望指导。谢谢。

人造人 发表于 2018-5-9 21:03:24

语法糖
http://bbs.fishc.com/thread-74007-1-1.html

annqlm 发表于 2018-5-9 21:15:41

人造人 发表于 2018-5-9 21:03
语法糖
http://bbs.fishc.com/thread-74007-1-1.html

请问 有资料 显示您说的吗?不好意思,我不是说您指的不对。我只是想确认。

人造人 发表于 2018-5-9 21:29:39

annqlm 发表于 2018-5-9 21:15
请问 有资料 显示您说的吗?不好意思,我不是说您指的不对。我只是想确认。

我不知道该如何回答你

人造人 发表于 2018-5-9 21:32:18

annqlm 发表于 2018-5-9 21:15
请问 有资料 显示您说的吗?不好意思,我不是说您指的不对。我只是想确认。

你可以看看 《C专家编程》

wjp 发表于 2018-5-10 07:25:41

这不是可以看做array+i=‘x'吗

annqlm 发表于 2018-5-10 10:34:57

wjp 发表于 2018-5-10 07:25
这不是可以看做array+i=‘x'吗

为什么可以看作array+i=‘x呢?
一个是指针,一个是数组{:10_277:}

annqlm 发表于 2018-5-10 10:36:19

人造人 发表于 2018-5-9 21:32
你可以看看 《C专家编程》

谢谢。{:5_91:}

理想小青年 发表于 2018-5-10 11:27:32

annqlm 发表于 2018-5-10 10:34
为什么可以看作array+i=‘x呢?
一个是指针,一个是数组

malloc是啥,用于申请一块连续的指定大小的内存块区域,void*类型返回分配的内存区域地址
分给你了一块连续的内存区域
数组如何在内存申请的也是连续一块内存不是
为什么能用? 能想个大概吧

人造人 发表于 2018-5-10 12:15:26

a 和 *(a+n) 是等价的

annqlm 发表于 2018-5-10 14:23:23

人造人 发表于 2018-5-10 12:15
a 和 *(a+n) 是等价的

{:5_106:}
页: [1]
查看完整版本: 动态内存管理