char *str = (char *) malloc(100);
我用的是Dev C++,gcc软件,写malloc的时候如果少了那个强制转换就会报error,大意是赋值号两边类型不匹配。(但也只是error,可以不管它运行)
2.malloc是一个函数,他向内存申请一段长度为(100)的空间,然后返回这段空间的指针,由于他不知道你要干嘛用,所以返回的是void*,malloc前面的(char*)就是强制转换类型为char*,
1.两个分号应该就是印刷错误,C语言一条语句一个分号,除了偶尔在像for(;;)循环里见到两个连续的分号(但这里又不一样的意义,因为for循环里面要求必须有三个语句块,并用两个分号分开,你可以没有语句块,但不能没有分号)
------------------------------------------------------------------
(我学这门语言的时间基本和我注册本论坛的时间差不多。所以还很浅,只是就我认识的一点东西进行分享。楼上的rjsp大大当年可是帮忙解决了我很多疑惑。我的发言不是要驳他的观点,只是我还没接触到那个层次,所以认识有点不一样。。)