用memset函数初始化字符数组
2010-05-04 14:30
260 查看
今天想使用memset函数对整形数组进行初始化的,代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
int s[10];
memset(s, 1 ,sizeof(s));
for(int i=0;i<10;i++)
printf("%d/t",s[i]);
return 0;
}
可是却达不到效果,后来请教了一个师兄,才知道memset初始化是以一个字节为单位的,也即是说对字符数组才能初始化为任意值,例如:
#include <stdio.h>
#include <string.h>
int main()
{
char s[10];
memset(s, '1' ,sizeof(s));
for(int i=0;i<10;i++)
printf("%c/t",s[i]);
return 0;
}
或者
#include <stdio.h>
#include <string.h>
int main()
{
char s[10];
memset(s, 1 ,sizeof(s));
for(int i=0;i<10;i++)
printf("%d/t",s[i]);
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
int s[10];
memset(s, 1 ,sizeof(s));
for(int i=0;i<10;i++)
printf("%d/t",s[i]);
return 0;
}
可是却达不到效果,后来请教了一个师兄,才知道memset初始化是以一个字节为单位的,也即是说对字符数组才能初始化为任意值,例如:
#include <stdio.h>
#include <string.h>
int main()
{
char s[10];
memset(s, '1' ,sizeof(s));
for(int i=0;i<10;i++)
printf("%c/t",s[i]);
return 0;
}
或者
#include <stdio.h>
#include <string.h>
int main()
{
char s[10];
memset(s, 1 ,sizeof(s));
for(int i=0;i<10;i++)
printf("%d/t",s[i]);
return 0;
}
相关文章推荐
- 字符数组初始化
- 字符数组的初始化(转)
- 字符数组的定义、初始化及引用以及一些常用的字符串处理函数
- C初始化字符串指针和二维字符数组
- 用memset函数把数组的内存初始化为零
- C语言字符数组的初始化
- C程序设计语言- 指针与数组-4.2----字符指针与函数、指针数组以及指向指针的指针、指针数组的初始化
- C 语言字符数组的定义与初始化
- C语言结构体数组内带字符数组初始化和赋值
- C++ 字符数组初始化
- 关注C++细节——字面值初始化字符数组及字符串拷贝注意
- 关于字符数组的初始化
- C++字符数组(定义和初始化、赋值和引用)
- C 语言字符数组的定义与初始化
- VC++下一个看似简单实则很有“内涵”的C/C++字符数组初始化问题
- Cocos2d-x Array Samples 数组初始化、字符转浮点值,数组纬度转换、字符串分割
- Q14 密码问题 字符数组初始化memset
- C语言字符数组的初始化研究
- 字符数组初始化
- C语言中二维字符数组的定义和初始化