已采纳回答 / qq_糸色糸彖_04027778
【如果不申请内存】用char a[size]定义数组,这是系统在栈上申请的内存,因此这个数组不能太大,否则要溢出,用完后系统自己释放。这样申请的数组大小必须是个常量, 所以 size 定义时候必要有const。【申请内存】用int len = 100;char *a = new char[len]; 定义指针,这需要自己用new在堆上申请内存,数组可以很大,用完后 delete []a;释放。可以根据设置的变量值在程序运行中动态申请。
2017-01-26
已采纳回答 / 慕少0808759
int getMax(int a, int b){ return a > b ? a : b;}int getMax(int count,int arr[])//这个地方你 缺少了 arr类型 你的代码是int getMax(int count, arr[]){ int maxNum = arr[0]; for (int i = 1; i < count; i++) { if (maxNum<arr[i]) { maxNum = arr[i]; } } return ma...
2016-12-14
已采纳回答 / 酱油湖了
char *str=new char[100];的意思是在堆中申请100个char类型的内存;char *str=new char(100);的意思是在堆中申请1个char类型的内存,初始化为100;这儿加一句new会调用默认初始化,char默认初始化为'',所以char *str=new char[100];这个就是100个''。至于你的”是把"Hello Imooc"放在str数组的第几个位置?随机?”这个问题,是放在了数组的前面几个位置,随机就不可能了,效率也不允许这样做。仅供参考,互相学习!
2016-10-31
已采纳回答 / Hello_W_ang
int a; int const *p=&a; 这时候改变a的值,*p是不会改变的,你只要记住 int const看成一个整体。他修饰的是*p,那*p一定不会变
2016-10-27
已采纳回答 / qq_冷暖自知丷_03796942
?:是一种比较判断运算,a>b?a:b的意思是,若a>b为真,则返回a,若a>b为假,则返回b。相当于,if(a>b){return a;}else{return b;}
2016-10-24
已采纳回答 / 自由洛梦
不可以~&是取地址符的意思,&p,或者&a表示的都是一个固定的地址。与指针的定义是矛盾的。如果要写成“&p=a”表示的会是“p指针指向地址为‘a’”,与想要表达的是不一样的。
2016-10-23