C语言中参数和变量的区别

简介: C语言中参数和变量的区别

在C语言中,参数和变量在声明和使用时有一些明显的区别

参数与变量的区别 参数 变量
声明方式 参数声明在函数定义中(函数名之后的括号内是参数) 变量声明在函数外部(全局变量)或函数内部(局部变量)
使用方式 函数调用传递给函数的值 可在不同区域的语句中使用的值
生命周期 函数参数生命周期只限于函数执行期间 变量的生命周期可以超出函数执行期间
作用域 函数参数的作用域只限于函数内部 变量的作用域可是全局的或局部的
值的传递方式 函数参数可以按值传递、按指针传递或按引用传递

变量只能按值传递

参数的例子:

#include <stdio.h>
int sum(int a, int b) 
{ // a和b是函数sum的参数
    return a + b;
}
int main()
 {
    int x = 5, y = 3;
    int result = sum(x, y); // x和y作为参数传入函数sum
    printf("The sum of %d and %d is %d\n", x, y, result);
    return 0;
}

变量的例子:

#include <stdio.h>
int main() {
    int x = 5; // 定义一个变量x并赋值为5
    printf("The value of x is %d\n", x);
    x = 7; // 将变量x的值改为7
    printf("Now the value of x is %d\n", x);
    return 0;
}

总结:参数就是函数名后面括号里的东西,变量包括全局变量和局部变量它们分别在大括号外面和里面

目录
相关文章
|
17天前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别
pymalloc 和系统的 malloc 有什么区别
|
13天前
|
程序员 C语言 开发者
pymalloc 和系统的 malloc 有什么区别?
pymalloc 和系统的 malloc 有什么区别?
|
1月前
|
存储 C语言
C语言:普通局部变量、普通全局变量、静态局部变量、静态全局变量的区别
C语言中,普通局部变量在函数内部定义,作用域仅限于该函数;普通全局变量在所有函数外部定义,作用域为整个文件;静态局部变量在函数内部定义但生命周期为整个程序运行期;静态全局变量在所有函数外部定义,但仅在定义它的文件内可见。
45 10
|
28天前
|
存储 C语言
C语言:结构体与共用体的区别
C语言中,结构体(struct)和共用体(union)都用于组合不同类型的数据,但使用方式不同。结构体为每个成员分配独立的内存空间,而共用体的所有成员共享同一段内存,节省空间但需谨慎使用。
|
1月前
|
存储 编译器 C语言
C语言函数的定义与函数的声明的区别
C语言中,函数的定义包含函数的实现,即具体执行的代码块;而函数的声明仅描述函数的名称、返回类型和参数列表,用于告知编译器函数的存在,但不包含实现细节。声明通常放在头文件中,定义则在源文件中。
|
30天前
|
存储 C语言
【c语言】数据类型和变量
本文介绍了C语言中的数据类型和变量。数据类型分为内置类型和自定义类型,内置类型包括字符型、整型、浮点型等,每种类型有不同的内存大小和取值范围。变量分为全局变量和局部变量,它们在内存中的存储位置也有所不同,分别位于静态区和栈区。通过示例代码和图解,详细阐述了这些概念及其应用。
38 1
|
1月前
|
存储 C语言
C语言指针与指针变量的区别指针
指针是C语言中的重要概念,用于存储内存地址。指针变量是一种特殊的变量,用于存放其他变量的内存地址,通过指针可以间接访问和修改该变量的值。指针与指针变量的主要区别在于:指针是一个泛指的概念,而指针变量是具体的实现形式。
|
1月前
|
存储 编译器 C语言
C语言:数组名作为类型、作为地址、对数组名取地址的区别
在C语言中,数组名可以作为类型、地址和取地址使用。数组名本身代表数组的首地址,作为地址时可以直接使用;作为类型时,用于声明指针或函数参数;取地址时,使用取地址符 (&),得到的是整个数组的地址,类型为指向该类型的指针。
|
1月前
|
存储 C语言
初识C语言:常量与变量中寻找数据类型
初识C语言:常量与变量中寻找数据类型
|
1月前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
34 3