c99

    -4热度

    1回答

    功课 - 无需代码。伪代码正常。 我们只允许使用3个libc函数:read,malloc和free。然而,在学校的课程中,我们已经实现并编写了许多我们自己的libc函数版本,那些我们允许使用的版本是。我会列出它们,但其中大约有50个,所以相反,我一定会提及哪些我不能使用。 我的问题......我必须采取什么措施从文件中读取一行并将该行存储为字符串,而不需要\n?有没有人能够引导我完成整个过程?因为

    3热度

    2回答

    我看到这个例子,我有一个crc32.c文件,其中包含: inline int32_t crc32_compute(int32_t *buffer, size_t size) { ... } 在头文件中我发现: extern inline int32_t crc32_compute(int32_t *buffer, size_t size); 对我来说,inline关键字没有作用

    0热度

    3回答

    我发现此c99代码。有人可以解释这里发生了什么吗? for(char const * i = "*****";printf("%s\n",i + 4) < 6;i--);

    0热度

    1回答

    我试图以更易于管理的方式制作大块数据。 #pragma anon_unions typedef union { uint8_t Contents[PACKET_SIZE]; struct { uint8_t Command; uint8_t X[24]; uint8_t Y[24]; uint8_t

    1热度

    2回答

    每cppreference.com长度修饰符%L仅适用于浮点类型。但现代GNU编译器似乎也接受它作为%ll(long long)的同义词的整数。有没有可能在这方面引用错误?或者%L是整数在未来会成为标准吗?

    7热度

    4回答

    第7.18.1.4 C99标准状态: 以下类型表示具有任何有效的指针void可以转化为这种类型的属性的无符号整数类型,则转换回指针void,结果将相当于原来的指针: uintptr_t 这是否意味着只有void *类型可以转换为uintptr_t,并返回而不更改原始指针的值? 我特别想知道,如果下面的代码是需要使用uintptr_t: int foo = 42; void * bar = &fo

    1热度

    1回答

    我想创建一个trie,我需要所有的布尔等于false,除非另有规定。然而,这种同时成员初始化和定义的格式只在C++ 11中有效......显然,有没有办法在c99中做到这一点? typedef struct { bool booleans[28] = { false }; struct node *next[27]; }node;

    -3热度

    1回答

    我尝试十六进制值转换成一个字符串,我已经看过这个question,但我不知道如何将它转换以动态的方式一个字符串,就像如果我的功能得到了六角系列8或9或更多。我怎样才能优化这个片段与一个循环遍历给定的十六进制值并转换每个十六进制值(第一个除外),然后是.? /* Input: char[] ="2b06010201010300" Output: char[]="1.3.6.1.2.1.1.3.0

    10热度

    2回答

    gcc的较新版本提供Wimplicit-fallthrough,这对于大多数switch语句来说都是非常棒的。但是,我希望允许所有病例陈述中都有一个switch语句。 有没有办法做一个明确的跌倒?我宁愿避免为此文件编译Wno-implicit-fallthrough。 编辑:我正在寻找一种方法来通过显式(如果可能)使秋天,而不是通过编译器开关或杂注关闭警告。

    2热度

    2回答

    我尝试了x86_64上的Visual Studio 2013的Auto-Vectorizer模式,对于以下内容我感到有点惊讶。考虑天真代码: static void rescale(double * __restrict out, const int * __restrict in, long n, const double intercept, const double slope) {