C | calloc():如果类型不是数字怎么办

问题描述 投票:-1回答:1

例如,我有一个struct

struct s{
    char c;
    int x;
};

并且我使用calloc()分配内存。

s *sp = (s*) calloc(1, sizeof(s));

Nowsp->csp->x的值是多少?

c dynamic-memory-allocation calloc
1个回答
0
投票

sp-> c和sp-> x的值是什么?

由于calloc()将分配的内存的所有位都设置为0,如果c值的表示形式是x的所有位,则00将具有0的值(很常见)。

请注意,在使用指针的情况下,该指针可能不是符合标准的NULL指针。


0
投票

首先请确保以正确的方式声明该结构为了使s已知,您必须将其添加到结构的末尾。如果您不想这样做,则每个声明都必须是struct s

struct s{
char c;
int x;

} s;

[s *sp = (s*) calloc(1, sizeof(s))将在两个值中输入0。

还学习使用调试器,您可以在其中看到值

作为程序员调试器非常重要。

© www.soinside.com 2019 - 2024. All rights reserved.