iphone - GLfloat 动态数组声明

标签 iphone ios objective-c xcode

我在 Objective-C 中动态声明 GLfloat 数组时遇到了一些问题。这是c 我正在使用的颂歌:

GLfloat *m_bindPositions;

@implementation

int nVerts           = [self m_countVertices];
m_bindPositions      = (GLfloat*)malloc((nVerts * 3) * sizeof(GLfloat));

本例中的 nVerts 等于 6704。

如果我要运行 sizeof(m_bindPositions),它应该返回 80448。

它目前返回 4。这让我相信

的分配存在错误

内存,我不完全确定为什么。任何帮助将不胜感激。

Thanks

最佳答案

sizeof 在这种情况下返回指针的大小,而不是它指向的数据。

但是,编译器负责处理 sizeof,它不会根据 malloc 动态返回值,因此您不能使用 sizeof(或除 malloc_size(),会返回一个等于或大于allocation的数字,代表分配 block 大小。

关于iphone - GLfloat 动态数组声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15601781/

相关文章:

iphone - UIViewController 内的 UITabBarController = viewDidAppear : not called

ios - 如何对从iOS到PHP的数组中的数组进行JSON编码

ios - 遍历 Firebase 数据库并为变量赋值

ios - 在 iOS 上使用 RSA 公钥

objective-c - 如何从被调用的方法实现创建 NSInitation?

ios - 创建后 UITableViewCell 的顺序不正确

iphone - 在不重新加载的情况下更新 UITableView 中的部分页脚标题

iphone - 在没有应用商店提交的情况下更新 ios 应用程序

ios - 如何在 ios 中处理 AVAudioplayer 中的音量 slider 位置

ios - 我如何在输出中得不到可选?