已采纳回答 / qq_糸色糸彖_04027778
【如果不申请内存】用char a[size]定义数组,这是系统在栈上申请的内存,因此这个数组不能太大,否则要溢出,用完后系统自己释放。这样申请的数组大小必须是个常量, 所以 size 定义时候必要有const。【申请内存】用int len = 100;char *a = new char[len]; 定义指针,这需要自己用new在堆上申请内存,数组可以很大,用完后 delete []a;释放。可以根据设置的变量值在程序运行中动态申请。
2017-01-26
例子很棒啊, 一下就理解了&在这里的作用,如果可以的话,希望能对一些名词和符号做简单解释呀,比如 typedef 的作用,*指针的意思和跟&的关系等。感谢慕课提供如此好的视频:)!
2017-01-21
最新回答 / 慕粉1529473653
这个应该是有记录的,应该实在编译阶段就已经实现,是一个常量,比如在申请一个数组或者变量时就记录下来,这也就是sizeof能够使用的原因吧,所以在释放内存的时候就可以调用记录。
2017-01-17
最赞回答 / 慕粉163032922
typedef struct _COORD { // coord. SHORT X; // horizontal coordinate SHORT Y; // vertical coordinate } COORD; WINDOWS API中定义的一个结构
2017-01-15
strcpy(str, "Hello imooc") copy的时候不需要加*,此时字符串所保存在内存空间中的是一串地址,而str也是指向的一串地址,所以就可以这样直接copy。
后面输出的时候,和上述所说也是一样的道理,因为我们在使用cout<<"Hello imooc"<<endl; 的时候,编译器也是将字符串的首字母看成一个地址进行输出的,所以在输出指针str的时候,也不用加*。
后面输出的时候,和上述所说也是一样的道理,因为我们在使用cout<<"Hello imooc"<<endl; 的时候,编译器也是将字符串的首字母看成一个地址进行输出的,所以在输出指针str的时候,也不用加*。