language-lawyer相关内容

常量32768为0x8000之间的区别类型可以有所作为?

本标准规定了十六进制常量像为0x8000(比有符号整数更大的拟合)的无符号的(就像八进制常量),而小数常量像32768签署长。 (确切类型假设一个16位整数,32位长)。然而,在常规的C环境都将具有相同的重presentation,在二进制 1000 0000 0000 0000 。 可能的情况下这种差别确实会产生不同的结果?换句话说,有可能的情况下这种差异事项呢? 解决方案 是的,它能 ..
发布时间:2016-08-21 20:52:01 C/C++

很长很长一个在C型?

我知道标题似乎很愚蠢,但我认为这是值得一问。 把这个声明(或定义,也许)例如: _Thread_local长挥发性静态INT _Atomic常量长期无符号X = 10; 我曾经考虑长长作为一种类型,但如果它是一个类型的名字,怎么能这么多的预选赛插入呢? 所以我咨询N1570这个问题,只是要更加迷茫。它提到了一些术语,如“类型说明符的”和“类型限定符的”,而我无法找到长长在“类型说明符”, ..
发布时间:2016-08-21 20:50:15 C/C++

什么是标准C的约束?

C类标准谈的限制的,E。 G。 ISO / IEC 9899:201X 定义的术语 约束结果 限制,无论是语法或语义,通过该 语言要素的论述,是要跨preTED 和章说的一致性 如果出现的外''应当''或''不得'的要求 约束或运行时违反约束,行为 不确定的。 在本章的环保,分段的诊断据说 一个符合标准的实现必须产生至少一种诊断 消息(以实现定义的方式确定) ..
发布时间:2016-08-21 20:48:55 C/C++

正在使用memcmp上的int数组严格符合?

是下面的程序用C严格符合程序?我感兴趣的是C90和C99,但C11的答案也是可以接受的。 的#include<&stdio.h中GT; #包括LT&;&string.h中GT;的struct {int数组[2]; };诠释主(){ 结构S A = {{1,2}}; 结构S B; B = A; 如果(memcmp(b.array,a.array,sizeof的 ..
发布时间:2016-08-21 20:48:35 C/C++

我们可以使用的va_arg与工会?

6.7.2.1我的C99标准的草案第14段是这样说的关于工会和指针(重点,一如既往,添加): 工会的大小是苏夫网络cient包含最大的成员。在价值 成员最多有一个可以在任何时间被存储在联合对象。 一个指向 联合对象,适当转换,分给每个成员(或者如果成员是比特 字段,然后到单位所驻留),反之亦然。 都很好,这意味着它是合法的,做类似以下到一个符号或无符号整数复制到工会,假设我们只希 ..
发布时间:2016-08-21 20:26:37 C/C++

可在别名结构自身的最初和唯一的成员?

例如,这是code有效呢,还是由于违反了别名规则未定义行为? INT X; 的struct {INT I; }ÿ; X = 1; Y = *(结构S *)及X; 的printf(“%d个\\ N”,Y.I); 我的兴趣是使用基于此技术开发执行走样读取一个便携式的方法。 更新:这里是使用目的的情况下,有一点点不同,但它应该是有效的,当且仅当上面是有效的:静态内联uint32_t的read32 ..
发布时间:2016-08-19 16:18:22 C/C++

难道诠释A = 1,B = A ++;未定义行为?

确实 INT A = 1,B = A ++; 未定义行为?还有就是初始化之间中间没有顺序点 A 及其访问和修改在初始化为 B ,但作为据我所知,初始化是不是对象“修改”;一个初始被指定给对象的“初始值”。每6.7.8初始化,第8段: 这是初始化指定存储在对象的初始值。 和似乎是合理的采取“初始”像以前一样对对象的任何访问被测序。有这个问题之前已经考虑,而且有一个公认的跨pretatio ..
发布时间:2016-08-19 16:15:49 C/C++

什么是负浮点值转换成一个unsigned int的行为?

如果负浮点值转换成无符号整型的值会发生什么?标准报价将AP preciated。我现在面临的问题是转换为无符号整数类型从variant类的值,即包含浮点类型的对象。 例如: 无符号I = -.1; 解决方案 在情况下,负值为-1.0或更低,它调用自组成部分,不确定的行为则不能再通过一个无符号数psented $ P $。否则,(如在-0.1的情况下),如果它可以被重新用一个整数类型ps ..
发布时间:2016-08-19 16:14:06 C/C++

它是UB抛掷const和阅读价值?

澄清:我的问题是: 是否UB使用类型的左值 INT 来访问有效键入的对象const int的 这问题有哪些使用类型的左值 INT 双code样品来访问有效键入 const int的,我的意图是用尽可能少分心尽可能实现这一目标。如果有UB的任何其它来源除了这一特定问题请留言,我会尝试更新code样本。 下面是一个讨论的具体code例如: 的#include<&stdio.h中G ..
发布时间:2016-08-19 16:12:25 C/C++

请问C / C ++提供的最小的执行时间任何保证?

为什么编译器似乎是朝那个什么也不做,不排除他们环路礼貌? 请问C标准要求的循环需要一定的时间? 例如,下面的code: 无效美孚(无效){ 而(1){ 对于(INT K = 0; K< 10亿; ++ K); 的printf(“富\\ n”); } } 运行速度比这个慢:无效美孚(无效){ 而(1){ 对于(I ..
发布时间:2016-08-19 15:57:33 C/C++开发

在C兼容这些功能的类型?

考虑下面的C程序: INT F(){返回9; } 诠释主(){ INT(* H1)(INT); H1 = F; //这是为什么允许? 返回H1(7); } 根据本C11标准二段。 6.5.16.1,在一个简单的任务,“下面的人不得持有”,而唯一有关的一个列表如下: 左操作具有原子,合格或不合格的指针类型,(考虑到类型的左操作数将有左值转换后)两个操作数都指向兼容类型的合 ..
发布时间:2016-08-19 15:53:13 C/C++

为&放大器;错误号合法的C?

每7.5, [错误]扩展到修改lvalue175),有int类型,其价值是由几个库函数设置为正的错误编号。这是不确定的errno是一个宏或者与外部连接声明的标识符。如果宏定义是为了访问一个实际的对象pssed燮$ P $,或程序定义的名称错误号的标识符,行为是不确定的。 175)的宏错误号不必是一个对象的标识符。它可能扩大到从一个函数调用产生修改的左值(例如,*错误号())。 这 ..
发布时间:2016-08-19 15:42:40 C/C++

实施可以考虑作为提示语句的实际?

在C中,注册存储预选赛是一个的提示的到,这样的标识应该尽可能快地(例如存储在被访问的实现CPU寄存器)。 §6.7.1 与存储类说明注册一个对象标识符的声明表明,访问对象是尽可能快。到这样的建议是有效的程度是实现定义的。 和 §6.7.3的用途限制条件的(如寄存器存储 类)是促进优化[...] 不过,我听说实现(在嵌入式系统中专门找到),其中注册具有较强的意义:它是一个 ..
发布时间:2016-08-19 14:47:45 C/C++

是否标准定义空指针常量有设置为零的所有位?

(我引用ISO / IEC 9899:201X) 在这里,我们看到的是,整型常量前pression有一个整数类型: 6.6恒前pressions 6。 的整型常量前pression应有整型的,并应只有操作数 是整型常量,枚举常量,字符常量的sizeof 前pressions,其结果是整型常量,_Alignof前pressions和浮动 是强制转换的立即数常量。在一个整型常量类 ..
发布时间:2016-08-19 14:11:00 C/C++

是位在一个字节等于位在char类型的数量有多少?

请问C标准的任务呢?是否有一个平台,在这里位的字节数量不是一个类型字符?等于的位数 解决方案 是的。两者都等于 CHAR_BIT * 。 C标准定义 CHAR_BIT 如:“为最小物体位数不是一个位域(字节)”的。 C99明确地说: “一个字节包含 CHAR_BIT 位。”的 的“ UCHAR_MAX 应等于2 CHAR_BIT - 1” - 这意味着 unsigned char型需要 ..
发布时间:2016-08-19 14:01:25 C/C++