网站首页 > 技术文章 正文
你有遇到下面这些奇奇怪怪的问题吗,你了解ANSI/ISO 标准 C吗,作为一名有一定功底的程序员这些你应该懂:
11.1 什么是 “ANSI C 标准”?
11.2 我如何得到一份标准的副本?
11.3 我在哪里可以找到标准的更新?
11.4 很多 ANSI 编译器在遇到以下代码时会警告类型不匹配。extern int func(float); int func(x) float x; {
11.5 能否混用旧式的和新型的函数语法?
11.6 为什么声明 extern int f(struct x *p); 报出了一个奇怪的警告信 息 “结构 x 在参数列表中声明”?
11.7 我不明白为什么我不能象这样在初始化和数组维度中使用常量:const int n = 5; int a[n];
11.8 既然不能修改字符串常量, 为什么不把它们定义为字符常量的数 组?
11.9 “const char *p” 和 “char * const p” 有何区别?
11.10 为什么我不能向接受 const char ** 的函数传入 char **?
11.11 怎样正确声明 main()?
11.12 我能否把 main() 定义为 void, 以避免扰人的 “main无返回值” 警 告?
11.13 可 main() 的第三个参数 envp 是怎么回事?
11.14 我觉得把 main() 声明为 void 不会失败, 因为我调用了 exit() 而不 是 return , 况且我的操作系统也忽略了程序的退出/返回状态。
11.15 那么到底会出什么问题?真的有什么系统不支持 void main() 吗?
11.16 我一直用的那本书《熟练傻瓜C语言》总是使用 void main()。
11.17 从 main() 中, exit(status) 和返回同样的 status 真的等价吗?
11.18 我试图用 ANSI “字符串化” 预处理操作符 # 向信息中插入符号 常量的值, 但它字符串化的总是宏的名字而不是它的值。
11.19 警告信息 “warning: macro replacement within a string literal” 是 什么意思?
11.20 在我用 #ifdef 去掉的代码里出现了奇怪的语法错误。
11.21 #pragma 是什么, 有什么用?
11.22 “#pragma once” 是什么意思?我在一些头文件中看到了它。
11.23 a[3] = "abc"; 合法吗?它是什么意思?
11.24 为什么我不能对 void* 指针进行运算?
11.25 memcpy() 和 memmove() 有什么区别?
11.26 malloc(0) 有什么用?返回一个控指针还是指向 0 字节的指针?
11.27 为什么 ANSI 标准规定了外部标示符的长度和大小写限制?
11.28 我的编译对最简单的测试程序报出了一大堆的语法错误。
11.29 为什么有些 ASNI/ISO 标准库函数未定义?我明明使用的就是ANSI 编译器。
11.30 谁有把旧的 C 程序转化为 ANSI C 或相反的工具, 或者自动生成 原型的工具?
11.31 为什么声称兼容 ANSI 的 Frobozz Magic C 编译器不能编译这些 代码?我知道这些代码是 ANSI 的, 因为 gcc 可以编译。
11.32 人们好像有些在意实现定义 (implementation-defin-ed)、未明确(unspecified) 和无定义 (undefined) 行为的区别。它们的区别到底在哪里?
11.33 一个程序的 “合法”, “有效” 或 “符合” 到底是什么意思?
11.34 我很吃惊, ANSI 标准竟然有那么多没有定义的东西。标准的唯一 任务不就是让这些东西标准化吗?
11.35 有人说 i = i++ 的行为是未定义的, 但是我刚在一个兼容 ANSI 的 编译器上测试, 得到了我希望的结果。
- 上一篇: C语言各类符号意思,新手小白收藏好物,看了必懂
- 下一篇: C语言基础知识要点(c语言基础语句知识)
猜你喜欢
- 2024-10-26 C语言、嵌入式项目中一些常用知识及技巧第一弹
- 2024-10-26 C语言编程:最常见 7 道C语言面试题,还是有不少人弄不明白?
- 2024-10-26 初识C语言:简介、环境搭建、第一个HelloWorld
- 2024-10-26 C|volatile关键字使用细节及适用场合
- 2024-10-26 C语言干货:函数知识详解(变量的作用域,全局变量,静态变量)
- 2024-10-26 小白入门C语言20问20答2(新手c语言)
- 2024-10-26 C语言的简单了解及学习2(c语言的入门知识)
- 2024-10-26 C 语言基本语法(c语言的基础语法)
- 2024-10-26 C语言数据怎么描述?最全面解析,C语言基础教学档案!编号零零五
- 2024-10-26 C语言void关键字的高级玩法,6个样例代码告诉你
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 506℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 485℃MySQL service启动脚本浅析(r12笔记第59天)
- 465℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 463℃启用MySQL查询缓存(mysql8.0查询缓存)
- 443℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 422℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 418℃MySQL server PID file could not be found!失败
- 最近发表
-
- netty系列之:搭建HTTP上传文件服务器
- 让deepseek教我将deepseek接入word
- 前端大文件分片上传断点续传(前端大文件分片上传断点续传怎么操作)
- POST 为什么会发送两次请求?(post+为什么会发送两次请求?怎么回答)
- Jmeter之HTTP请求与响应(jmeter运行http请求没反应)
- WAF-Bypass之SQL注入绕过思路总结
- 用户疯狂点击上传按钮,如何确保只有一个上传任务在执行?
- 二 计算机网络 前端学习 物理层 链路层 网络层 传输层 应用层 HTTP
- HTTP请求的完全过程(http请求的基本过程)
- dart系列之:浏览器中的舞者,用dart发送HTTP请求
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)