函数与指针
1、通过实参向函数传递函数名或指向函数的指针变量
1.1、指向函数指针变量的定义:
在C语言中函数名代表该函数的入口地址;
区分:指向函数的指针和返回值是指针;
类型函数:
double(*fp)(int ,int *);
double abc(int,int*);
fp = abc; //指针指向函数
说明:fp是一个指向函数的指针变量,这个函数必须是double类型。
只有同种类型的指针才能指向这个函数;
double *fp(int,int*);
说明:fp就不是指针变量,而是说明fp是一个函数,该函数返回值类型是基本类型为
double的指针类型;
2、函数名或指向函数的指针变量作为实参
函数名或s指向函数的指针变量可以作为实参传给函数,这时,对应的形参应当是类型相同的
指针变量;
3、局部变量、全局变量和存储分类
局部变量(内部变量):在函数内部或符合语句内部定义的变量。函数的形参也属于局部变量;
全局变量(外部变量):在函数外部定义的变量;
4、局部变量和全局变量的区别就在于他们的作用域不同;
5、存储类别:
C语言中,有两种存储类别:一种是自动类,一种是静态类。局部变量可以说是
自动类,也可以说是静态类。而全局变量只能是静态类;
auto 自动
regisert 寄存器 (这种变量的利用率很搞,一般把这样的变量存放在CPU中)
static 静态(这种变量占据着永久性的存储单元) ,具有记忆功能;
extem 外部
6、结构体、共用体和用户定义类型
7、结构体能够一次性的定义多个变量:案例
struct structName
{
int year,month,day;
};
struct 是关键字,是结构体类型的标志
注:结构体的说明同样是要以分号结尾;
当结构体中包含有结构体式的时候,称为结构体嵌套;
struct student
{
char name[12];
char sex;
struct date birthday;
float sc[4];
};
其中struct date 是一个说明过的结构体类型,birthday就是
这个结构体中的一成员;
对结构体变量赋值,C编译程序按每个成员在结构体重的顺序一一对应赋值,不允许跳过
前面的成员给后面的成员赋值。但可以只给前面的若干个成员赋值,后面
没有赋值的成员,系统会自动为数值型和字符型数据赋值0;
*/
#include<stdio.h>
#include<math.h>
double tran(double(*)(double),double(*)(double),double);
int f(int a)
{
if(a==1 || a==0)
{
return 1;
}else
{
return a*f(a-1);
}
}
main()
{
int i,j;
scanf("%d",i);
j = f(i);
printf("%d",j);
}
分享到:
相关推荐
C 语言初级 函数与指针 以及结构体的介绍 C 语言初级 位运算 C 语言初级 文件操作 C 语言初级入门--地址和指针 C 语言初级入门--二维数组和指针 C 语言初级入门--概念简介 C 语言初级入门--关系运算与逻辑运算 C ...
本文将深入探讨初级C语言中的指针,包括地址和指针的概念、变量的指针与指向变量的指针变量、数组与指针、字符串与指针、指向函数的指针、返回指针值的函数以及指针数组和指向指针的指针。 10.1 地址和指针的概念 ...
这份名为“c的初级代码”的压缩包包含了一系列章节的C语言代码示例,覆盖了从基础到进阶的不同主题,有助于初学者逐步掌握编程技能。以下是根据压缩包中的文件名和C语言学习的一般顺序,可能涉及的一些知识点的详细...
操作符的使用,函数,指针和结构体进行详细的介绍,用相关的代码进行一些知识点的验证,里面也有相关的小型项目进行练习,包括:三子棋和扫雷,都可以帮助我们提高自己学习编程语言的兴趣和对我们掌握C语言的能力...
"第二章"通常会介绍基本的输入输出操作,比如使用printf和scanf函数来与用户交互。"其它"目录可能包含了各种补充材料,如练习题、解答或者额外的编程示例。"第三章"可能涉及到C语言的基础语法,如变量声明、赋值以及...
《明解C语言(初级篇)》是柴田望洋所著的一本C语言入门教材,它以易懂的语言和详尽的例子向初学者介绍了C语言的基础知识。本书是专为对C语言感兴趣的编程初学者设计,目的是让他们能够从零开始学习C语言,逐步建立...
本篇将基于“C语言初级课件”这一主题,详细介绍C语言的基础概念、语法特点以及学习路径。 一、C语言基础 C语言的基础包括变量、数据类型、运算符和控制结构。变量是存储数据的容器,数据类型有整型、浮点型、字符...
《C语言初级学习手册》是一本专为初学者设计的教程,旨在系统地介绍C语言的基础知识,帮助读者从零开始逐步掌握编程技能。本文将根据提供的文件名称,逐一解析各个章节的重要知识点。 第一章 "C语言概论":这一章...
"rnbzhpzz让你不再害怕指针"这个资源显然旨在帮助初级和中级C语言编程者克服对指针的恐惧,提供了一个详细而通俗易懂的指针使用指南。 1. **指针基础**: - 指针是一个变量,它存储的是另一个变量的地址,也就是说...
6. **函数**:讲解函数的定义、调用,参数传递(按值传递和按引用传递),以及函数指针的使用。 7. **数组**:介绍一维、二维及多维数组的声明、初始化和操作,以及动态内存分配(malloc, free)。 8. **字符串...
根据给定的文件信息,以下是从“c语言电子书初级教程”中提取的关键知识点: ### C语言历史 C语言源自B语言,由贝尔实验室的研究员Dennis Ritchie于1972年创建,最初是为了开发UNIX操作系统而设计的。C语言的早期...
C语言是一种广泛应用于系统编程、应用编程、嵌入式开发以及游戏编程等领域的高级编程语言。它是计算机科学的基础,对于初学者来说,掌握C语言能够帮助理解计算机底层工作原理,为学习其他编程语言打下坚实基础。...
理解指针的概念、操作和使用指针函数是学习C语言的关键。 8. **结构体与联合体**:结构体允许你组合不同类型的数据,而联合体则在有限的内存空间内切换存储不同类型的值。 9. **预处理器指令**:如#include、...
4. **结构体与联合**:结构体是C语言中用于组合不同类型数据的一种方式,它可以将多个不同类型的数据组织在一起。联合是另一种复合类型,它允许多种数据类型共用同一块内存空间。理解这两者,有助于编写更复杂的程序...
- **结构体数组和指针**:结构体在数组中的应用,以及结构体指针的使用。 7. **内存管理** - **动态内存分配**:使用malloc()和calloc()分配内存,free()释放内存。 - **堆栈与堆的区别**:理解静态内存和动态...
综上所述,这个“小学期 航班系统 c语言版”项目是一个适合初学者的编程实践,通过实现航班信息的管理,帮助学习者巩固C语言的基本语法、指针和结构体的应用,同时锻炼了他们的问题解决和程序设计能力。对于想要深入...
C语言是一种广泛应用于系统编程、应用软件开发、嵌入式系统和游戏开发的高级编程语言。它的设计目标是简洁、高效且可移植性好。"C语言程序设计初级版"是一份适合初学者的教程,旨在帮助他们掌握C语言的基础知识和...
5. `ppt(c07).ppt` - 可能讲解指针,这是C语言的一大特色,包括指针的定义、操作和用途,以及通过指针进行动态内存管理。 6. `ppt(c10).ppt` - 可能涉及结构体和联合体,这是C语言中复合数据类型的表示,有助于创建...
这份“C语言初级实训方案练习试题”旨在帮助初学者通过实践来深入理解和掌握C语言的基本概念、语法以及编程技巧。 1. **基本概念**: - C语言是一种结构化编程语言,它具有高效、灵活和可移植性等特点。 - C语言...
在学习C语言的过程中,同学们会遇到各种各样的问题,这个“大学初级C语言答案全集”涵盖了从基础到进阶的一些关键知识点。下面将对这些知识点进行详细阐述。 1. **C语言概述**:C语言是一种中级语言,它结合了低级...