相关疑难解决方法(0)

使用0个元素初始化多维C数组

我怎么能简单地用0元素初始化一个多维C数组,如下所示:

int a[2][2] = { { 0, 0 }, {0, 0} }
Run Code Online (Sandbox Code Playgroud)

c arrays initialization

2
推荐指数
2
解决办法
320
查看次数

我如何在以下数组上使用 fill_n()?

我有这个数组

 unsigned char        bit_table_[10][100];
Run Code Online (Sandbox Code Playgroud)

用 0 填充它的正确方法是什么。我试过了

std::fill_n(bit_table_,sizeof(bit_table_),0x00);
Run Code Online (Sandbox Code Playgroud)

但 vc 2010 将其标记为错误。

c++ arrays fill

2
推荐指数
1
解决办法
4628
查看次数

C++中的数组初始化(不是字符串)

我正在玩C++中的数组.我定义了一个名为matrix的二维数组,我将提取负值并将其分配给名为array的数组.

有没有办法快速将数组初始化为零而不是枚举所有元素?我查看了其他帖子和行,例如: int array[10] = {}或者 int array[10] = {0}不对我的编译器起作用.error: variable-sized object ‘array’ may not be initialized如果我尝试使用这些语句,我会收到错误消息.

我的教科书说所有数组在声明时都被初始化为零,但是我在我的编译器上测试过这个并不是真的.我不得不通过使用for循环强制它为零.这样做有正确的方法吗?

哦顺便说一句,我有一个mac并使用g ++进行编译.当我这样做时,man g++它说它是llvm-gcc编译器的符号链接.

#include<iostream>

const int NROWS = 4, NCOLS = 5;
int matrix[][NCOLS] = {    16,  22,  99,  4, 18, 
                         -258,   4, 101,  5, 98, 
                          105,   6,  15,  2, 45, 
                           33,  88,  72, 16, 3};

int main()
{
    int SIZE = 10;
    int array[SIZE];
    int count=0;

    // Values of array before initalized    
    for(int i = …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
2076
查看次数

C编程,获取最后一行文件

我正在编写一个打开txt文件的ac程序,想要读取txt文件的最后一行.我不是那么精通C所以请记住,我可能不知道C中的所有概念.我被困在我使用fscanf读取我的txt文件的所有行的部分,但我想采取最后一行txt文件并获取如下所述的值.

这是我不完整的代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

FILE *sync;


void check()
{
    int success; //to hold the results if the timestamps match
    sync = fopen("database.txt","r");
    char file[] = "database.txt";

    while (fscanf(sync, "%d.%06d", &file) != EOF)
    {


    }

    fclose(sync);
}
Run Code Online (Sandbox Code Playgroud)

示例txt文件:

/////// / //// ///// ///// //////////////// Time: 1385144574.787665 //////// /
/////// / //// ///// ///// //////////////// Time: 1385144574.787727 //////// /
/////// / //// ///// ///// //////////////// Time: 1385144574.787738 //////// /
/////// / //// ///// ///// //////////////// Time: 1385144574.787746 //////// …
Run Code Online (Sandbox Code Playgroud)

c file-handling

2
推荐指数
1
解决办法
1万
查看次数

将数组初始化为0的正确和最简单的语法方法

我试图找出将数组初始化为全零的正确方法(即好像你已经在数组上做了一个memset).

我在堆栈溢出(和其他来源)的各个方面找到了以下方法:

char myArray1[10] = {0};
char myArray2[10] = {0,};
char myArray3[10] = {[0 ... 9] = 0};
char myArray4[10] = {0,0,0,0,0,0,0,0,0,0};
Run Code Online (Sandbox Code Playgroud)

我更喜欢最简单的语法变体......我使用的是{0},但我没有找到任何证明这实际上是正确的.

c++ arrays

2
推荐指数
1
解决办法
299
查看次数

如何知道C中数组中元素的确切数量?

如果我提到

int ar[100]={1,1};
Run Code Online (Sandbox Code Playgroud)

我想知道它中存在的元素数量而不是它的大小,我应该使用哪些命令?

c arrays

2
推荐指数
1
解决办法
128
查看次数

为什么{0}分配有效但数组不为{5}

我尝试了以下代码:

int a[4] = {0};
int b[4] = {5};
int c[4];
printf("%d %d %d %d %d %d\n", a[0], a[3] , b[0], b[3], c[0], c[3]);
Run Code Online (Sandbox Code Playgroud)

得到以下结果:

0 0 5 0 random random
Run Code Online (Sandbox Code Playgroud)

虽然我得到了为什么我得到了c数组的随机值,我不明白为什么分配{5}不起作用{0},只是初始化数组的第一个元素.

有没有办法将数组b元素初始化为不同于0的相同值?(不使用memset或for循环)

c arrays array-initialization

2
推荐指数
1
解决办法
124
查看次数

如何在声明时使用特定值初始化数组的每个元素?

我想创建一个包含999个元素的int数组,每个元素的值都是999.有没有办法在声明期间初始化一个int数组,而不是遍历每个元素并将其值设置为999?

java arrays initialization

1
推荐指数
1
解决办法
2473
查看次数

在C++中陈述常量数组值

例如,我有:

int boo[8];
boo[1] = boo[3] = boo[7] = 4;
boo[0] = boo[2] = 7;
boo[4] = boo[5] = boo[6] = 15;
Run Code Online (Sandbox Code Playgroud)

我应该如何键入常量值?我看到类似的问题,但它没有帮助我.

编辑:还有一个问题,如果boo与索引0 1 3 4 5 6 7是恒定的但是boo [2]不是?有可能做到吗?

c++ arrays const

1
推荐指数
1
解决办法
119
查看次数

如何在不使用循环的情况下在C中初始化N维数组

我想初始化一个3 x 3矩阵,前两行为0,最后一行为1.我已经宣布了一个2D数组int matrix[3][3]

我想在不使用循环的情况下初始化它,如下所示

0 0 0
0 0 0
1 1 1

我还想要一个N dimiensional数组的解决方案

c arrays initialization matrix

1
推荐指数
1
解决办法
1582
查看次数