-
C语言指针作为函数返回值
所属栏目:[语言] 日期:2023-05-17 热度:980
C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数。下面的例子定义了一个函数 strlong(),用来返回两个字符串中较长的一个:
#include <stdio.h>
#include <string.h>
char *strlong(char[详细] -
C语言指针变量
所属栏目:[语言] 日期:2023-05-17 热度:3937
在C语言中,函数的参数不仅可以是整数、小数、字符等具体的数据,还可以是指向它们的指针。用指针变量作函数参数可以将函数外部的地址传递到函数内部,使得在函数内部可以操作函数外部的数据,并且这些数据不会随着函[详细]
-
C语言用数组作函数参数
所属栏目:[语言] 日期:2023-05-17 热度:8645
数组是一系列数据的集合,无法通过参数将它们一次性传递到函数内部,如果希望在函数内部操作数组,必须传递数组指针。下面的例子定义了一个函数 max(),用来查找数组中值最大的元素:
#include <stdio.h>
int max([详细] -
C语言通过指针变量取得数据
所属栏目:[语言] 日期:2023-05-17 热度:4194
指针变量存储了数据的地址,通过指针变量能够获得该地址上的数据,格式为:
*pointer;
这里的*称为指针运算符,用来取得某个地址上的数据,请看下面的例子:
#include <stdio.h>
int main(){
int a = 15;[详细] -
C语言指针变量的定义
所属栏目:[语言] 日期:2023-05-17 热度:6400
数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量。
在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。指针变量的值就是某份数据的地址,这样的一份数据可以是[详细] -
C语言指针是什么
所属栏目:[语言] 日期:2023-05-17 热度:6425
计算机中所有的数据都必须放在内存中,不同类型的数据占用的字节数不一样,例如 int 占用 4 个字节,char 占用 1 个字节。为了正确地访问这些数据,必须为每个字节都编上号码,就像门牌号、身份证号一样,每个字节的[详细]
-
C语言预处理命令介绍
所属栏目:[语言] 日期:2023-05-17 热度:413
预处理指令是以#号开头的代码行,# 号必须是该行除了任何空白字符外的第一个字符。# 后是指令关键字,在关键字和 # 号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令,该指令将在编译器进行编译之前[详细]
-
C语言#ifdef 的用法
所属栏目:[语言] 日期:2023-05-17 热度:4216
#ifdef 用法的一般格式为:
#ifdef 宏名
程序段1
#else
程序段2
#endif
它的意思是,如果当前的宏已被定义过,则对“程序段1”进行编译,否则对“程序段2”进行编译。
也可[详细] -
C语言#if的用法
所属栏目:[语言] 日期:2023-05-17 热度:7680
#if 用法的一般格式为:
#if 整型常量表达式1
程序段1
#elif 整型常量表达式2
程序段2
#elif 整型常量表达式3
程序段3
#else
程序段4
#endif
它的意思是:如常“表达式1”的值[详细] -
C语言带参宏定义和函数的区别分析
所属栏目:[语言] 日期:2023-05-17 热度:2092
带参数的宏和函数很相似,但有本质上的区别:宏展开仅仅是字符串的替换,不会对表达式进行计算;宏在编译之前就被处理掉了,它没有机会参与编译,也不会占用内存。而函数是一段可以重复使用的代码,会被编译,会给它[详细]
-
C语言对带参宏定义的说明
所属栏目:[语言] 日期:2023-05-17 热度:4768
带参宏定义中,形参之间可以出现空格,但是宏名和形参列表之间不能有空格出现。例如把:
#define MAX(a,b) (a>b)?a:b
写为:
#define MAX (a,b) (a>b)?a:b
将被认为是无参宏定义,宏名 MAX 代表字符串(a,b) (a[详细] -
C语言带参数的宏定义
所属栏目:[语言] 日期:2023-05-17 热度:5236
C语言允许宏带有参数。在宏定义中的参数称为“形式参数”,在宏调用中的参数称为“实际参数”,这点和函数有些类似。
对带参数的宏,在展开过程中不仅要进行字符串替换,还要用实参去替换形参[详细] -
#define 用法的几点说明
所属栏目:[语言] 日期:2023-05-17 热度:8417
宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单粗暴的替换。字符串中可以含任何字符,它可以是常数、表达式、if 语句、函数等,预处理程序对它不作任何检查,如有错误,只能在编译[详细]
-
C语言#define的用法
所属栏目:[语言] 日期:2023-05-17 热度:9167
#define 叫做宏定义命令,它也是C语言预处理命令的一种。所谓宏定义,就是用一个标识符来表示一个字符串,如果在后面的代码中出现了该标识符,那么就全部替换成指定的字符串。
我们先通过一个例子来看一下 #defin[详细] -
C语言#include的用法详解
所属栏目:[语言] 日期:2023-05-16 热度:421
#include叫做文件包含命令,用来引入对应的头文件(.h文件)。#include 也是C语言预处理命令的一种。
#include 的处理过程很简单,就是将头文件的内容插入到该命令所在的位置,从而把头文件和当前源文件连接成一个[详细] -
C语言预处理命令是什么
所属栏目:[语言] 日期:2023-05-16 热度:9489
C语言源文件要经过编译、链接才能生成可执行程序:
1) 编译(Compile)会将源文件(.c文件)转换为目标文件。对于 VC/VS,目标文件后缀为.obj;对于GCC,目标文件后缀为.o。
编译是针对单个源文件的,一次编译[详细] -
忽略语法细节,从整体上理解函数
所属栏目:[语言] 日期:2023-05-16 热度:5541
从整体上看,C语言代码是由一个一个的函数构成的,除了定义和说明类的语句(例如变量定义、宏定义、类型定义等)可以放在函数外面,所有具有运算或逻辑处理能力的语句(例如加减乘除、if else、for、函数调用等)都要[详细]
-
C语言递归的进入和退出
所属栏目:[语言] 日期:2023-05-16 热度:1491
当递归进入到最内层的时候,递归就结束了,就开始逐层退出了,也就是逐层执行 return 语句。
1) n 的值为 1 时达到最内层,此时 return 出去的结果为 1,也即 factorial(1) 的调用结果为 1。
2) 有了 factoria[详细] -
C语言递归函数
所属栏目:[语言] 日期:2023-05-16 热度:1157
一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由里到外退出。
递归函数不是C语言的专[详细] -
C语言单独的代码块
所属栏目:[语言] 日期:2023-05-16 热度:40
C语言还允许出现单独的代码块,它也是一个作用域。请看下面的代码:
#include <stdio.h>
int main(){
int n = 22; //编号①
//由{ }包围的代码块
{
int n = 40; //编号②
prin[详细] -
C语言在 for 循环条件里面定义变量
所属栏目:[语言] 日期:2023-05-16 热度:1294
遵循 C99 标准的编译器允许在 for 循环条件里面定义新变量,这样的变量也是块级变量,它的作用域仅限于 for 循环内部。例如,计算从 m 累加到 n 的和:
#include <stdio.h>
int sum(int m, int n);
int main(){[详细] -
C语言在代码块内部定义变量
所属栏目:[语言] 日期:2023-05-16 热度:6705
C语言允许在代码块内部定义变量,这样的变量具有块级作用域;换句话说,在代码块内部定义的变量只能在代码块内部使用,出了代码块就无效了。
在函数内部定义的变量叫做局部变量,这节我们接着讲解选择结构和循环结[详细] -
C语言代码关于变量的命名
所属栏目:[语言] 日期:2023-05-16 热度:1299
每一段可运行的C语言代码都包含了多个作用域,即使最简单的C语言代码也是如此。
int main(){
return 0;
}
这就是最简单的、可运行的C语言代码,它包含了两个作用域,一个是 main() 函数内部的局部作用域,一[详细] -
在所有函数外部定义的变量
所属栏目:[语言] 日期:2023-05-16 热度:7180
C语言允许在所有函数的外部定义变量,这样的变量称为全局变量(Global Variable)。
全局变量的默认作用域是整个程序,也就是所有的代码文件,包括源文件(.c文件)和头文件(.h文件)。如果给全局变量加上 stati[详细] -
在函数内部定义的变量
所属栏目:[语言] 日期:2023-05-16 热度:3812
在函数内部定义的变量,它的作用域也仅限于函数内部,出了函数就不能使用了,我们将这样的变量称为局部变量(Local Variable)。函数的形参也是局部变量,也只能在函数内部使用。请看下面的例子:
#include <stdio.[详细]
