第1个回答 2019-02-19
ch本来就是"hello"存放的首地址啊
何来多种解释?
如果第一种解释
请问怎么找到"hello"这个字符串?既然找不到又何来复制到ch[]
如果能找到能复制,又何来释放不了呢??
第2个回答 2020-07-21
其实只要能理解,两种说法都行。当然第二种确实说的比较完整点。因为这个是一个hello字符串,有一个结束标示符也占一个字节,第一种说法只是说ch是一个数组,一个个字符的复制,也不是不行,只是少了字符串这个概念。
第3个回答 2020-04-19
正常答案是第一种。
原因其实很简单的,当然需要两份空间了,ch只是栈上的变量,每次进入其所有作用域时都需要初始化其内容的,所以必须在常量区里面存储一份,不然后面ch的进行修改后可怎么办?
第4个回答 2019-09-11
堆内存
才会有释放问题,
栈内存
自动释放,用完随即释放
变量从没有到创建内存并赋值,肯定存在拷贝的过程,不是你理解的strcat就是了
说白了就是先创建一个
8bit
的空间,然后写数据,完成后写入$,并返回首地址和偏移量