c++ - 我想在ios里使用C的数组,如何能把空间开到最大?
黄舟
黄舟 2017-04-17 17:24:52
[iOS讨论组]

float squareVertexData[999999] = { };

我想在ios里开辟一个float数组,(不能使用NSArray,用到的OpenGL库不识别)。怎么能开辟到最大,如果我把数开到九十九万,viewdidload就直接崩了

还有就是我能不能顶一个返回值为float数组的方法,并将此数组返回,试了下没成功,求个基本语法,试了很多没成功。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
怪我咯

一看是OpenGL就知道是你...

float squareVertexData[999999] = { };

你这样声明的静态数组,在内存空间里是连续的,如果内存中没有这么长的连续内存,就拉倒了。所以要使用动态数组

float *a=(float *)malloc(n*sizeof(float));//定义动态数组 相当于float a[n]  

祝你好运。

PS: 你虽然开了一个999999的数组,但其实并不一定要用完对吧,静态数组的话,那个999999是要在代码里写死的;换了动态以后,数组长度n,你可以根据你的实际需要来分配,还可以在不够用时候扩容。其实这是个C语言问题。

怪我咯

float squareVertexData[999999] = { }; C 不允许这种写法吧。好歹分配个值 float squareVertexData[999999] = {1.0};

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号