我正在用C制作一个数据结构库,我已经决定让数据结构不透明,所以我有一个标题lew_arr.h
struct lew_arr;
以及具有定义的源文件lew_arr.c
struct lew_arr {
void *buff;
size_t len; //number of elements in the array
size_t cap; //capacity of the array
size_t sz; //number of bytes for each element
};
这里还有一个函数的定义,它为一个新的lew_arr结构分配内存,初始化它,并通
我第一次了解到语法糖语言的存在,比如在Rails中工作时的CoffeeScript和SASS。这让我觉得..。为什么我们对C、C++和Java这样的语言没有众所周知的语法糖(如果有的话)?
假设有一种语言读起来像Python或Ruby,可以对C进行预处理,然后编译生成非常快速的代码,这些代码看起来也很漂亮。
例如,而不是:
#include <stdio.h>
int divide(int a, int b)
{
if(b != 0)
return a / b;
return 0;
}
int main()
{
int a, b;
我对C不熟悉。假设我们有一个函数get_float();它应该返回一个浮点值。但是在C中,我们应该先显式声明一个浮点数类型变量,然后再将浮点数赋值给它。
float number = get_float("what's the number");
我想知道为什么要设计这样的规则。
在赋值函数返回值的情况下,如果我们可以声明一个变量而不声明其数据类型,那么它似乎减少了错误。程序员不需要担心他们声明了与函数返回值不匹配的错误数据类型。
number = get_float("what's the number");