C语言如何让二维字符数组全部被初始化为同一个值

我定义了一个100*100的二维数组,然后我写的是char qipan[100][100]={'M'}:,然后DEVC++就报错,怎样用简单的方法让这个数组中所有元素都初始化为'M'呢?一定要用双重for循环赋值吗?

还有 printf("Now it's A's turn and please input the row and line.");这句话他也要报错!!
书上就这么写的,编译器居然报错!!

1、要有这样一个malloc产生的二维数组,或者用New产生的也行。

2、不能按照图示代码运行。

3、首先先释放数组的数组。

4、然后我们再释放单个数组。

5、然后我们运行就会发现,数组被成功释放,现在的array地址已经是随机地址了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-29

C语言让二维字符数组全部被初始化为同一个值步骤如下:

1、定义二维数组的方法和一维数组相似,如:int a[3][3],就是定义了一个3行3列的二维数组。

2、这个3行3列的二维数组是逻辑上的概念,能形象的表示出行列关系。而在内存中,各元素是连续存放的,不是二维的,是线性的。

3、二维数组的初始化,可以分行给元素赋值。

4、可以对部分元素赋值,例如:int a[3][3]={{1},{4},{7}}。

5、也可以只对某几行赋值,例如:int a[3][3]={{1,2},{4}}。

6、如果对全部元素都赋初值,则定义数组时可以对第一维的长度不指定,但第二维的长度不能省去,也可以只对部分元素赋值,而省略第一维的长度,但应该分行赋值。

本回答被网友采纳
第2个回答  2019-07-17

1、新建一个工程和.c文件 ,输入头文件和主函数。

2、声明函数并且初始化数组。

3、通过调用函数输出二维数组的值。

4、然后开始定义一个函数。

5、然后开始进行调用函数如下。

6、编译、运行看到二维字符数组全部被初始化为同一个值。

本回答被网友采纳
第3个回答  推荐于2017-09-30

1、C语言中的字符数组,主要用于存储C风格的字符串,因此无论一维、二维,常规的初始化操作是初始化整数0。比如下面的代码:

char a[10][10] = {0};

数组在初始化时,如果初始化了第1个字符,后面的字符,系统会自动填充为0,这是一个C语言中的规定。

2、使用memset函数,将二维数组当成一维数组处理,进行初始化。示例如下:

#include <stdio.h>
#include <string.h>
int main()
{
char a[10][10];
memset(a, 0x00, sizeof(char) * 100);
return 0;
}

第4个回答  2015-06-10

给出以下代码:

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    int arr[2][2];
    memset(arr,0,sizeof(arr));//使用memset函数,将arr数组中赋于值。
    for(int i=0;i<2;i++)
    {
        for(int j=0;j<2;j++)
        {
            cout<<arr[i][j]<<" ";
        }
    }
    return 0;
}

相似回答