memset初始化高维数组为-1/0

#include <cstring>
int dp[100][100];
memset(dp,-1,sizeof(dp));
memset(dp,0,sizeof(dp));

完整代码:

#include<iostream>
#include<cstring>
using namespace std;

int dp[100][100];

int main(){
	
	//将dp数组初始化为-1 
	memset(dp,-1,sizeof(dp));
	
	for(int i=0;i<100;i++){
		for(int j=0;j<100;j++){
			cout<<dp[i][j]<<" ";
		}
		cout<<endl;
	}
	 
	return 0; 
}

可将高维数组初始化为-1或0;

  • 注意1:需要包含库<cstring>
  • 注意2:只能初始化为值为-1或0,其他值如1都不行
    解释:虽然memset按照1字节单位对内存进行填充,-1的每一位二进制位都是1,所以可以像0一样用memset初始化。

手册地址:http://www.cplusplus.com/reference/cstring/memset/

发布了228 篇原创文章 · 获赞 76 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_41895747/article/details/103898388