动态内存分配的问题
程序代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char name[100]; char *description; strcpy(name, "mike"); /* 动态分配内存 */ description = (char *)malloc( 200 * sizeof(char) ); }
问题:
1、name 只能通过 strcpy(name, "mike")赋值吗? 我尝试 name="mike";报错呢?为啥呀?
2、(char *)malloc( 200 * sizeof(char) ) 我知道是内存处理,但就是不理解?该怎么断句呢?
(char *)
malloc()
200 * sizeof(char)
这样断句对吗?
3、(char *) 是指 一个char类型的指针吗?
200 * sizeof(char) 直接写作 char 200 不行吗? 为何这样写?