watercici 发表于 2019-9-24 14:38:41

如何给一个一维数组赋相同的初值?

一个一维数组大小为1000,想给这1000个数都赋相同的初值,比如初值均为3,这个怎么写呢?

mylovemcu 发表于 2019-9-24 16:55:27

for循环太麻烦试试这个函数
memset(MotoPriority,0xff,50);//数组赋初值

第一个参数是数组名
第二个是初值
第三个是个数

wenyangzeng 发表于 2019-9-24 15:24:43

楼主应该去补习c了,很简单的C:

for(i=0;i<1000;i++) dim=0x03;

dataozi 发表于 2019-9-24 16:36:30

可以一个循环就可以的 赋同样的值 数组长度是1000 那么注意一下控制变量的范围 uint16_t

toofree 发表于 2019-9-24 17:40:18

mylovemcu 发表于 2019-9-24 16:55
for循环太麻烦试试这个函数
memset(MotoPriority,0xff,50);//数组赋初值



用这个代码很省事,简洁。在底层可能还是for或while循环,不能省时间。

stm1024 发表于 2019-9-24 21:21:00

toofree 发表于 2019-9-24 17:40
用这个代码很省事,简洁。在底层可能还是for或while循环,不能省时间。
一般单字节元素,memset在使用上,都考虑使用指令集进行批量赋值功能。当然对于多字节的数据类型就只能老老实实使用循环了

watercici 发表于 2019-9-25 08:58:21

wenyangzeng 发表于 2019-9-24 15:24
楼主应该去补习c了,很简单的C:

您说的这个方法我知道,我只是想知道有没有类似memset函数的方法,因为memset函数只适合赋初值0或-1其他的就不太好了

watercici 发表于 2019-9-25 08:59:14

stm1024 发表于 2019-9-24 21:21
一般单字节元素,memset在使用上,都考虑使用指令集进行批量赋值功能。当然对于多字节的数据类型就只能老 ...

那我知道了,我本来是想看看大家回复的有没有除了for之外的简单方法,谢谢,我问题没写清楚,不好意思

watercici 发表于 2019-9-25 08:59:39

toofree 发表于 2019-9-24 17:40
用这个代码很省事,简洁。在底层可能还是for或while循环,不能省时间。

明白,谢谢

watercici 发表于 2019-9-25 09:00:23

dataozi 发表于 2019-9-24 16:36
可以一个循环就可以的 赋同样的值 数组长度是1000 那么注意一下控制变量的范围 uint16_t...

好吧,看来只能用FOR了,谢谢提醒
页: [1] 2
查看完整版本: 如何给一个一维数组赋相同的初值?