c语言中怎么把一维数组初始化为全零啊,不用循环
10个回答
展开全部
设置一个静态数组,就默认0了
如 static int a【8】;
如 static int a【8】;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VC 里可以用 int a[SIZE] = {0};
不行的话就用 static int a[SIZE] = {0}; 吧....
不行的话就用 static int a[SIZE] = {0}; 吧....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
memset(数组地址,0,数组长度);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a[10]={0};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2种方法:
1.静态变量(全局变量、静态局部变量)即使没有初始化列表,也会自动全部初始化填充0。
2.对于局部自动变量,只要初始化列表存在,即使没有在列表中的部分也会被初始化填充0。所以只要使初始化列表全为零即可。例如LS所说的int a[10] = {0};。注意这里数组大小不能省略,否则初始化列表会被当做数组的全部内容。
----
至于memset,类似于循环批量赋值(只是交给库函数实现了而已),并非初始化。(其实循环不也是赋值么- -。)
1L用法有误,应为memset(数组地址, 0, sizeof(数组变量)),第三个参数应该是数组所占空间大小而不是数组的元素个数(长度)。
使用memset前需#include<string.h>。
----
[原创回答团]
1.静态变量(全局变量、静态局部变量)即使没有初始化列表,也会自动全部初始化填充0。
2.对于局部自动变量,只要初始化列表存在,即使没有在列表中的部分也会被初始化填充0。所以只要使初始化列表全为零即可。例如LS所说的int a[10] = {0};。注意这里数组大小不能省略,否则初始化列表会被当做数组的全部内容。
----
至于memset,类似于循环批量赋值(只是交给库函数实现了而已),并非初始化。(其实循环不也是赋值么- -。)
1L用法有误,应为memset(数组地址, 0, sizeof(数组变量)),第三个参数应该是数组所占空间大小而不是数组的元素个数(长度)。
使用memset前需#include<string.h>。
----
[原创回答团]
参考资料: 原创
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询