整数型int 为什么不可以用 memset 函数?
来源:互联网 发布:数据统治世界 百度云 编辑:程序博客网 时间:2024/05/09 08:15
而对于字符型 或 0 应该使用memset 函数
如下demo是可以的,能把数组中的元素值都设置成字符1,
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
}
#include<iostream>
#include <cstring>
using namespace std;
int main()
{
}
问题是:
1,第一个程序为什么可以,而第二个不行,
2,不想要用for,或是while循环来初始化inta[5];能做到吗?(有没有一个像memset()这样的函数初始化)
答:
1.因为第一个程序的数组a是字符型的,字符型占据内存大小是1Byte,而memset函数也是以字节为单位进行赋值的,所以你输出没有问题。而第二个程序a是整型的,使用memset还是按字节赋值,这样赋值完以后,每个数组元素的值实际上是0x01010101即十进制的16843009。你看看你输出结果是否这样?
2.如果用memset(a,1,20);
就是对a指向的内存的20个字节进行赋值,每个都用ASCII为1的字符去填充,转为二进制后,1就是00000001,占一个字节。一个INT元素是4字节,合一起就是100000001000000010000000
- 整数型int 为什么不可以用 memset 函数?
- 整数型int 为什么不可以用 memset 函数?
- 为什么ISR内部不可以用printf和malloc函数
- 为什么int型的数组用memset不能清零(memset的使用规范)
- 为什么int型的数组用memset不能清零(memset的使用规范)
- C++中为什么一定要出现虚函数,用函数覆盖不可以解决问题么
- 构造函数为什么不可以声明为虚函数?
- 为什么函数重载不可以根据返回类型区分?
- 写一个函数,判断一个int型的正整数是否是2的幂,即是否可以表示成2^X的形式(不可以用循环)
- 写一个函数,判断一个int型的正整数是否是2的幂,即是否可以表示成2^X的形式(不可以用循环)
- C语言atoi()函数:将字符串转换成int(整数)和sprintf和memset
- 为什么博客不可以粘贴?》
- 浅谈 memset 函数的第二个参数为什么是 int 而不是 char
- abstract为什么不可以用static native或synchronized修饰
- abstract为什么不可以用static native或synchronized修饰
- 在GPU核函数中,为什么数值型变量可以和数组型变量相互赋值, CPU中不可以
- 为什么构造函数不可以声明为虚函数,而析构函数可以
- 为什么析构函数可以能声明为虚函数,构造函数不可以
- ocliint-选择正确的报告
- Win32串口编程
- 继承NSOperation-自定义异步 Operation
- HDU 5783 Divide the Sequence(贪心)
- 读《About Face 4 交互设计精髓》13
- 整数型int 为什么不可以用 memset 函数?
- 解决ViewPager高度无法wrap_content问题
- 我的jquery之路(二)
- 文章标题
- sed工具以及awk工具的介绍及使用
- iOS开发 非常全的三方库、插件、大牛博客等等
- netbeans c++环境配置
- 基础图论知识总结
- jdbc查询大量数据内存溢出的解决方法