C语言
文章平均质量分 81
日晨难再
一个略带强迫症的研究牲,目前某著名福建三本硕士在读,数字集成电路设计方向,会不定期发布文章(摸鱼),感谢大家的支持
展开
-
C&Python:比较运算符串联的差异
在C语言和Python中,比较运算符是一个常用的运算符,但这两种语言在某些情况下对比较运算符的解析缺存在差异,本文旨在明确这一点。原创 2024-03-04 15:33:07 · 1436 阅读 · 17 评论 -
C&Python:表达式的求值顺序(evaluation order)
C语言针对表达式的计算,设置了操作符的优先级和结合性这两个特性,优先级用于解析不同优先级的符号,结合性用于解析相同优先级的符号。但是这两个特性并不能完全确定表达式的计算顺序,这就给编译器留下了一定的优化的空间,下面举例说明这一点。假设有如下所示的简单表达式。原创 2024-02-13 16:53:27 · 1546 阅读 · 10 评论 -
C语言:当函数定义时遗漏函数返回值类型以及函数遗漏return语句
这种写法已经被普遍认为是不专业的,在C99标准中,规定main函数的返回值必须显式说明为int。而在C90标准中,可以如果不显式说明函数返回值,int类型为默认返回值类型,这是因为当时的函数大多数返回int类型。对于main函数来说,C99规定如果遗漏return语句,在执行到main函数的右括号}时,会自动返回0值,而对于其他函数则没有此要求。C99规定不允许在返回值类型不是void的函数中使用没有表达式的return语句(如果遗漏return,也能返回)。原创 2024-02-01 18:57:40 · 782 阅读 · 18 评论 -
C语言:字符串字面量及其保存位置
对例2的验证就省略了,下面进行结果的说明。在上面的代码中,array1是一个有字符串初始值的全局数组,字符串字面量会直接添加到.data section中,即保存全局变量的section,且并不会在.rodata section保存。但要注意的是,array3与array2和array1不同,这个数组是保存在栈上的,而数组的值"cccccc"是在程序执行前就在可执行代码中的.rodata段的。需要特别说明的是上面所说的字符串字面量的位置没有任何限制,可以是在函数内,也可以是在函数外,如下面的代码所示。原创 2023-12-24 16:42:41 · 1214 阅读 · 39 评论 -
C语言:指向数组的指针和指向数组首元素的指针
指向数组的指针和指向数组元素的指针常常被混淆,或者笼统地被称为数组指针,但它们之间是有差别的,本文就将对此进行讨论。原创 2023-12-14 00:34:31 · 808 阅读 · 16 评论 -
C语言:函数原型声明时的参数列表
注意:在C++标准中, 第三种形式的函数声明表示没有参数,即与以下形式等价,此若在函数调用时给予参数会报错。这种形式不推荐使用,了解这种形式的写法是为了读懂之前写的老代码。原创 2023-08-27 21:05:50 · 686 阅读 · 4 评论