问题标签 [kr-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 投票
4 回答
274 浏览

c - 为什么程序会编译?

我只是想理解这段 C 代码(而不是试图通过程序实现任何功能目标)。这使用 gcc 编译。这是 main(int a, char *argv[] ) 格式的 main 吗?是否允许在参数和函数体之间声明任何内容(类似于 char *a; 这里)?

0 投票
1 回答
56 浏览

struct - 发现结构初始化是否不会修改所有成员

考虑以下代码:

我正在寻找一种生成错误(编译或运行时)的方法,以表明结构初始化没有明确地“触及”所有结构成员。结构中有 5 个整数,但 'mystruct_init' 只有 4 个值。我知道最后一个成员(mystruct_init.b)将为零,但我需要某种警告/错误来通知程序员这个错误。这必须在一个非常旧的编译器上工作(甚至可能不符合 ansi-c)。

0 投票
0 回答
96 浏览

c - C中的衰减规则

在 C 中,函数自动衰减为指向 function 的指针,而数组则自动衰减为指向其第一个元素的指针。但是,结构和联合不会衰减为指向自身的指针。

我的问题是:为什么衰减规则是这样设计的?我主要(但不完全)期待 K&R 或委员会的报价,所以这个问题主要不是基于意见的。

0 投票
1 回答
66 浏览

c - 函数定义中的参数无效,但声明中的原始数据类型

我有以下代码的查询。以下代码如何根据 K&R c 进行解释?没有编译错误,代码运行良好。我在代码块的构建选项中使用了-traditional。搜索了一会,但没有得到满意的答案。

0 投票
3 回答
1388 浏览

c - pointer to array of integers and normal array of integers

In KR C book page 112 it says that following:

is a pointer to an array of 10 integers. I don't get what's difference between above and:

1- Isn't arr2 itself a pointer to array of 10 integers? (Because name of an array is a pointer itself.)

2- If the name of an array is the array address and pointer to that array, then both arr1 and arr2 are pointer to array of integers, isn't this true?

0 投票
2 回答
220 浏览

c - 使用 C 中的空参数列表访问传递给函数的参数

由于具有空参数列表的函数可以在 C 中传递可变数量的参数,假设我有一个定义为的函数:

我用参数来称呼它,比如说

我有可能在我的 foo() 函数中获取那些传递参数的值吗?我希望有一些类似于$_ 的东西,Perl 中的默认变量。

编辑:我期望的那种行为就像这个问题中描述的那样:C function with no parameters behavior