这个周末似乎是从一早上的好天气开始的,阳光一如从前明亮的悬挂在头顶上,却少了往日的炙热.
昨天感觉很困惑的关于动态分配指针数组的小问题,似乎在这样的早晨更容易让人顿悟,一切都变得清晰起来.
如:
int *a[8];
可以如此:int **a = new int* [8];
这样就产生了8个指针,但这些指针所指的空间却是空的,这是如下面的不相同的.
int *a[8];//负责声明
for(int i=0;i<8;++i) {
a[i] = new int;//初始化每个指针,将其一个int的指针
}
这样得到的结果与上面得到的结果是不一样的.
new int* [8] 只是开僻了8个地址空间,这8个指针可以指向任何地方,这8个指针空间是在所谓的堆上建立的.
而后一种,是先在堆空间中开僻了8个int型的数,然后用8个指针去记录其地址.
哈,也不知说清楚没,或许自己也是一知半解的吧.
总是想贴个图上来,可是总是那么难啊,算了,只有用文字写写吧.
今天的顺利是把自己想做的事情做好了,老板让做一个零件图的切割排序,弄了好久,一直找不到一个什么好一些的方法,后来只是勉强想到一个可以应付的方法,哈,没想到也是不太容易的,现在觉得要做一个游戏该是多么难啊,自己只是计算一些线条就觉得头晕了,想想那些美丽的画面是怎么弄出来的吧,哈,当然可能他们有自己的方法,那样或许会让他们觉得舒服些的.嘿嘿,又了却了一桩心事啊,可以休息两天了,给自己放个假了.
昨天感觉很困惑的关于动态分配指针数组的小问题,似乎在这样的早晨更容易让人顿悟,一切都变得清晰起来.
如:
int *a[8];
可以如此:int **a = new int* [8];
这样就产生了8个指针,但这些指针所指的空间却是空的,这是如下面的不相同的.
int *a[8];//负责声明
for(int i=0;i<8;++i) {
a[i] = new int;//初始化每个指针,将其一个int的指针
}
这样得到的结果与上面得到的结果是不一样的.
new int* [8] 只是开僻了8个地址空间,这8个指针可以指向任何地方,这8个指针空间是在所谓的堆上建立的.
而后一种,是先在堆空间中开僻了8个int型的数,然后用8个指针去记录其地址.
哈,也不知说清楚没,或许自己也是一知半解的吧.
总是想贴个图上来,可是总是那么难啊,算了,只有用文字写写吧.
今天的顺利是把自己想做的事情做好了,老板让做一个零件图的切割排序,弄了好久,一直找不到一个什么好一些的方法,后来只是勉强想到一个可以应付的方法,哈,没想到也是不太容易的,现在觉得要做一个游戏该是多么难啊,自己只是计算一些线条就觉得头晕了,想想那些美丽的画面是怎么弄出来的吧,哈,当然可能他们有自己的方法,那样或许会让他们觉得舒服些的.嘿嘿,又了却了一桩心事啊,可以休息两天了,给自己放个假了.