C:数组长度的sizeof
发布时间:2020-12-16 10:54:27 所属栏目:百科 来源:网络整理
导读:假设我有一个名为LengthOf(array)的宏: sizeof array / sizeof array[0] 当我创建一个大小为23的新数组时,我不应该为LengthOf返回23吗? WCHAR* str = new WCHAR[23];str[22] = ' ';size_t len = LengthOf(str); // len == 4 为什么len == 4? 更新:我做
假设我有一个名为LengthOf(array)的宏:
sizeof array / sizeof array[0] 当我创建一个大小为23的新数组时,我不应该为LengthOf返回23吗? WCHAR* str = new WCHAR[23]; str[22] = ' '; size_t len = LengthOf(str); // len == 4 为什么len == 4? 更新:我做了一个错字,它是WCHAR *,而不是WCHAR **. 解决方法
因为str是一个指向指针的指针,而不是一个数组.
这是指针和数组之间的细微差别之一:在这种情况下,您的指针位于堆栈上,指向已在其他位置分配的23个字符的数组(可能是堆). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- C#多线程学习之(四)使用线程池进行多线程的自动管理
- ruby-on-rails – Rails I18n:更好的内插链接方式?
- AJAX post 500 Internal Server Error
- c – 是否允许将char []强制转换为unsigned char *?
- ruby-on-rails-3 – rails控制台测试加载开发环境
- c / C中的asc和chr等价物
- ruby-on-rails – 如何使用Sidekiq将文件上传到后台?
- Swift学习笔记(八)——赋值运算符的返回值问题
- C++ find_if(STL find_if)查找算法详解
- 使用ruby Reg Expressions验证字符串?