小编Chi*_*nna的帖子

为什么局部变量初始化为零

根据我的知识,局部变量是未初始化的,即它包含垃圾值.但是下面的程序给出0(零)作为输出.

main()
{
    int i;
    printf("%d\n",i);
}
Run Code Online (Sandbox Code Playgroud)

当我在程序之上运行它总是给出0.我知道0也可以是垃圾值,但每次我得到零作为输出.任何人都可以知道它的原因吗?

c linux local-variables

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

C - fgets() - 如果字符串更长怎么办?

假设我有一个包含长度为10的字符串的文件:

ABCDEFGHIJ

并使用fgets()大小为4的缓冲区逐行读取我的文本文件.我将fgets()在循环中调用以确保读取整行.但是,在第一次通话时,它会读出前三个字符(buffer size -1)吗?它是否还会在我的4个char缓冲区的最后一个位置附加一个空终止字符,即使没有到达我的字符串的真正结尾,或者它将填充4个字符并且在缓冲区末尾没有空终止字符?谁打电话是strlen()不可能的?

谢谢 :)

c string gets file char

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

如何在 C 中存储结构

我需要在声明后将结构数组设置为 0。我可以这样做

main()
{
    struct data dataarray[100];
    memset(dataarray,0x00,sizeof(dataarray));
}
Run Code Online (Sandbox Code Playgroud)

但是如果我像下面那样做怎么办

main()
{
   struct data dataarray[100] = {0}
}
Run Code Online (Sandbox Code Playgroud)

如果我使用 memset() 则需要花费太多时间才能完成。我需要优化这个功能。那么我可以使用第二种方法将内存设置为0吗?第二种方法保证所有内存都初始化为 0 吗?

c linux memset

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

带C的动态内存

struct forcePin {
    char _name[512];
};

struct forcePin *_forcePin[500000];    
_forcePin[i] = (struct forcePin *) malloc (sizeof (struct forcePin));
Run Code Online (Sandbox Code Playgroud)

我可以知道如下所示的线路在做什么?

_forcePin[i] = (struct forcePin *) malloc (sizeof (struct forcePin));
Run Code Online (Sandbox Code Playgroud)

我不熟悉c,如果你能告诉我如何使这一行也是C++格式的.谢谢

c malloc

-3
推荐指数
1
解决办法
173
查看次数

标签 统计

c ×4

linux ×2

char ×1

file ×1

gets ×1

local-variables ×1

malloc ×1

memset ×1

string ×1