问题标签 [ansi-c]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1216 浏览

c++ - “ANSI C”或“ANSI C++”今天仍然有意义吗?

上次我检查时,说您使用 ANSI C 编码等于说“这是符合 C99 的代码,其中没有其他内容”。现在有了 C11 和 C++11,这种区别还存在吗?它还有某种意义吗?

0 投票
1 回答
13125 浏览

c - char* var 之间的区别;和 char *var;?

只是想知道之间是否有任何区别:

还是只是偏好问题(间距)?

0 投票
3 回答
105284 浏览

c - 字符串终止 - char c=0 vs char c='\0'

当终止一个字符串时,在我看来这在逻辑上char c=0等同于char c='\0',因为“null”(ASCII 0)字节是0,但通常人们倾向于这样做'\0'。这纯粹是出于偏好还是应该是更好的“做法”?

什么是首选?


编辑: K&R :“字符常量'\0'表示值为 0 的字符,即空字符。'\0'通常写成而不是0强调某些表达式的字符性质,但数值只是0.

0 投票
5 回答
93707 浏览

c - C、C99、ANSI C 和 GNU C 有什么区别?

我已经开始在codechef上进行编程练习,并且对C 和 C99 之间的区别感到困惑。这里的 C 是什么意思?是C89吗?检查此提交底部的语言。它包含 C 和 C99。

我在互联网上发现了一个叫做 GNU C 的东西。对于 linux/unix 系统有不同的 C 吗?这些是否符合 ANSI 的 C 标准?我也在某些地方读过“C99 严格”。这是什么?

还有其他不同的 C 标准在使用吗?有什么叫做 C 4.3.2 的东西还是当前使用的 gcc 版本?

编辑:

有帮助。我将进行更多搜索并编辑未答复的内容。

我不是编程新手。我知道C语言是什么。我知道 ANSI 有不同的 C 标准,如 C89、C99 和 C11。

0 投票
2 回答
162 浏览

c# - Ansi C 用 C# 编程还是用 C# 方式编程?

大家好,我最近开始使用统一的 C# 进行游戏开发,并且进展顺利。我遇到的问题不在于我的代码的功能,而在于它的编码风格。我在高中学习了 4 年的 ANSI C,所以现在当我跳到 C# 时,我真的无法使用预制类(除了我在 C 中使用的那些被称为库的类)。在这一点上,我的代码看起来与 C 非常相似,但在实现 OOP 原则方面做了一些努力。恐怕如果其他 C# 开发人员查看此代码,他们会称其为草率且不可读(无论如何,我的 C 代码并不是最优雅的,正如您将看到的那样)。我一直是一只孤独的狼,尽我最大的努力自学,希望成为一名独立开发者。所以我没有团队任务的经验。

我确信有更好的方法在 C# 中执行这样的功能,但是停止开发以使用类和 C# 特定类型(如 List)来执行这些任务是否值得?我非常有兴趣从经验丰富的程序员那里获得意见,因为我完全是 C# 和 OOP 的菜鸟。

0 投票
5 回答
13588 浏览

c++ - 谁定义了 C 运算符优先级和关联性?

介绍

在每本关于 C/C++ 的教科书中,您都会找到一个运算符优先级和关联性表,如下所示:

运算符优先级和关联性表

http://en.cppreference.com/w/cpp/language/operator_precedence

StackOverflow 上的一个问题是这样的:

以下函数执行的顺序是什么:

f1() * f2() + f3();
f1() + f2() * f3();

参考前面的图表,我自信地回答说函数具有从左到右的关联性,因此在前面的语句中,在两种情况下都像这样评估:

f1() -> f2() -> f3()

评估功能后,您可以像这样完成评估:

(a1 * a2) + a3
a1 + (a2 * a3)

令我惊讶的是,很多人告诉我我完全错了。决心证明他们错了,我决定转向 ANSI C11 标准。我再次惊讶地发现,很少有人提到运算符优先级和关联性。

问题

  1. 如果我认为函数总是从左到右进行评估的信念是错误的,那么表中提到函数优先级和关联性的真正含义是什么?
  2. 如果不是 ANSI,谁来定义运算符优先级和关联性?如果是ANSI做出定义,为什么很少提及运算符优先级和关联性?运算符优先级和关联性是从 ANSI C 标准推断出来的,还是在数学中定义的?
0 投票
6 回答
2309 浏览

c - C中的多维数组:它们是锯齿状的吗?

关于 C 编程语言 (ANSI-C) 的一个简单问题:

C 中的多维数组是锯齿状的吗?

我的意思是-我们是在谈论“数组数组”(一个指向内存中其他地址的指针数组),还是只是“长一维数组”(按顺序存储在内存中)?

困扰我的是,我有点确定:

matrix[i][j]相当于* ( * (matrix + i) + j)

0 投票
2 回答
87 浏览

c - -> 和点有什么区别

在 C 程序中,当我定义一个结构时。

在什么情况下我会使用“->”以及在什么情况下使用“。” ?

例如

我什么时候用barbar.bar,什么时候用barbar->bar

0 投票
2 回答
54 浏览

c - 函数 invertNumerSubstrings 不起作用

我在 Ansi C 中有这个问题

3 创建一个函数,该函数接收每个解码的 20 个字符的字符串数组,考虑以下几点:从左到右读取它,数字表示从那里要投入多少个字符(要投入的字符之间可以是数字,因此,被认为是普通字符)。
湾。数字字符应替换为反转字符串的第一个字符。

例子。字符串 aj5pr2*dfkl3abc2qwe1azk 必须是 ajd*2rpfklcbawqeazk

使用符号和指针算术

这个程序没有编译错误,但没有工作

0 投票
1 回答
429 浏览

c - 如何理解 char *fptr = NULL, *field; 的含义?

我想知道下面的表达式是什么意思:

谢谢!