-
问题:以下的初始化有什么区别?char a[] = "string literal"; char *p="string literal"; 当我向p[i] 赋值的时候, 我的程序崩...
-
序列点是一个时间点(在整个表达式全部计算完毕之后或在||、&&、? : 或逗号运算符处, 或在函数调用之前), 此刻尘埃落定, 所有的副作用都已确保结束。ANSI/...
-
语言定义中说明,
每一种指针类型都有一个特殊值—— “空指针” —— 它与同类型的其它所有...
-
根据语言定义, 在指针上下文中的常数0 会在编译时转换为空指针。
也就是说, 在初始化、赋值或比较的时候, 如果一边是指针类型的值或表达式, 编译器可以确定另一边的...
-
问题:
用缩写的指针比较“if(p)” 检查空指针是否可靠?
如果空指针的内部表达不是0 会怎么样?
当C 在表达式中要求布尔值时, 如果表达式等于0...
-
在使用非全零作为空指针内部表达的机器上,NULL是如何定义的
跟其它机器一样: 定义为0 (或某种形式的0; 参见问题5.4)。
当程序员请求一个空指针时, 无论...
-
随便使用术语“null” 或“NULL” 时, 可能意味着以下一种或几种含义:
1、概念上的空指针, 问题5.1 定义的抽象语言概...
-
有两条简单规则你必须遵循:
1、当你在源码中需要空指针常数时, 用“0” 或“NULL”。
2、如果在函数调用中“0...
-
真有机器用非零空指针?或者不同类型用不同的表达?
至少PL/I, Prime 50 系列用段07777, 偏移0 作为空指针。
后来的型号使用段0, 偏移0 作为C 的空指针,...
-
问题:
我第一次把一个程序分成多个源文件, 我不知道该把什么放到.c 文 件, 把什么放到.h 文件。(“.h” 到底是什么意思?)作为一般规则, 你应该...
-
简单地说:
实现定义意味着实现必须选择某种行为并提供文档。
未明确意味着实现必须选择某种行为但不必提供文档。
未定义意味着任何事情都可能发生。
标准在任何情况下都不强加需求...
-
ANSI/ISO 标准C 函数mktime() 和difftime() 对这两个问题提供了一些有限的支持。
mktime() 接受没有规格化的日期, 所以可以用一个日期的stru...
-
如果问题并不是那么简单, 那么回想一下, 电脑一般都是用一种浮点的格式来近似的模拟实数的运算, 注意是近似, 不是完全。
下溢、误差的累积和其它非常规性是常遇到的麻...
-
这一段信息不可移植。
一些旧系统提供一个非标准函数nargs()。
然而它的可信度值得怀疑, 因为它的典型返回值是参数的字节长度, 而不是参数的个数...
-
1、为什么编译器不让我定义一个没有固定参数项的可变参数函数?
标准C 要求用可变参数的函数至少有一个固定参数项, 这样你才可以使用va start()。
所以编译器不会接受下面...
-
许多地方有可能出错。
下面是一些通常的检查要点:1、未初始化的局部变量, 参见问题7.1。2、整数上溢, 特别是在一些16 比特的机器上...
-
问题:
“Segmentation violation”, “Bus error” 和“General protect...
-
这些功能跟你所用的终端类型(或显示器) 有关。
你需要使用termcap, terminfo 或curses 类的函数库, 或者系统提供的特殊函数。
...
-
terminfo, 某些版本的termcap, 以及某些版本的curses 函数库有对这些非ASCII 键的支持。
典型的, 一个特殊键会发送一个多字符序列(通常以...
-
从前, Unix 下有一套相当不错且小巧的设备独立的绘制函数(plot(3) 和plot(5))。
由Robert Maier 写的GNU libplot 函数库保持了同样的精神...