devilorangel香港占中是什么意思是?

devilorangel意思是?_百度知道
devilorangel意思是?
我有更好的答案
按默认排序
devil or angel
恶魔还是天使
其他类似问题
devil的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁给二维数组动态分配空间
给二维数组动态分配空间(转)
下面三种定义形式怎么理解?怎么动态分配空间?
&(1)、int **P&
&(2)、int *Ptr[&5&];
我更喜欢写成 int*&Prt[5];&
&(3)、int&(&*Ptr&)[&5&];&的
方式访问其内容;但它们的差别却是很大的。
&&&&&&&(1)、int&**Ptr&
&&&&&&&因为是指针的指针,需要两次内存分配才能使用其最终内容。首
先,Ptr&=&(&int&**&)new&int&*[&5&];这样分配好了以后,它和(2)的 意义相同了;然后要分别对&5&个指针进行内存分配,例如:
&&Ptr[&0&]&=&new&int[&20&];
&&它表示为第&0&个指针分配&20&个整数,分配好以后,&Ptr[&0&]&为指
向&20&个整数的数组。这时可以使用下标用法&Ptr[&0&][&0&]&到
Ptr[&0&][&19&]&了。
&&&&&&如果没有第一次内存分配,该&Ptr&是个"野"指针,是不能使用
的,如果没有第二次内存分配,则&Ptr[&0&]&等也是个"野"指针,也
是不能用的。当然,用它指向某个已经定义的地址则是允许的,那是另外 的用法(类似于"借鸡生蛋"的做法),这里不作讨论(下同)。
&&&&&&(2)、int&*Ptr[&5&]
&&&&&&这样定义的话,编译器已经为它分配了&5&个指针的空间,这相当
于(1)中的第一次内存分配。根据对(1)的讨论可知,显然要对其进行一次 内存分配的。否则就是"野"指针。
&&&&&&(3)、int&(&*Ptr&)[&5&]
&&&&&&这种定义我觉得很费解,不是不懂,而是觉得理解起来特别吃力,
也许是我不太习惯这样的定义吧。怎么描述它呢?它的意义是"一群"指针,每个指针都是指向一个&5&个整数的数组。如果想分配&k&个指针,
这样写:&Ptr&=&(&int&(&*&)[&5&]&)&new&int[&5&*&k&]。
这是一次性的内存分配。分配好以后,Ptr&指向一片连续的地址空间, 其中&Ptr[&0&]&指向第&0&个&5&个整数数组的首地址,Ptr[&1&]&指向第
1&个&5&个整数数组的首地址。
&&&综上所述,我觉得可以这样理解它们:
&&&int&**&Ptr&&==&&int&Ptr[&x&][&y&];
&&&int&*Ptr[&5&]&&==&&int&Ptr[&5&][&x&];
&&&int&(&*Ptr&)[&5&]&&==&&int&Ptr[&x&][&5&];
&&&这里&x&和&y&是表示若干的意思。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 辣条是什么意思 的文章

 

随机推荐