C语言基础——笔记整理2
来源:互联网 发布:php 获取数组某个元素 编辑:程序博客网 时间:2024/05/17 21:58
1.定义指向函数的指针
void haha(double num1, char *s1, int num2){}void(*p)(double, char *, int);p = haha; // 或者double (*p)(double, char *, int) = haha;
如何间接调用函数利用指向函数的指针调用
1> p(10.7, "jack", 10);2> (*p)(10.7, "jack", 10);
2.局部变量和全局变量(根据根据变量的作用域划分)
2.1.局部变量:
1> 定义:在函数(代码块)内部定义的变量(包括函数的形参)
2> 作用域:从定义变量的那一行开始,一直到代码块结束
3> 生命周期:从定义变量的那一行开始分配存储空间,代码块结束后,就会被回收
4> 没有固定的初始值
2. 2.全局变量 :
1> 定义:在函数外面定义的变量
2> 作用域:从定义变量的那一行开始,一直到文件结尾(能被后面的所有函数共享)
3> 生命周期:程序一启动就会分配存储空间,程序退出时才会被销毁
4> 默认的初始值就是0
3.结构体
1> 可以由不同类型的数据组成
2> 先定义类型,再利用类型定义变量
与数组的区别:
数组
1> 只能由同一种类型的数据组成
2> 定义:数据类型 数组名[元素个数];
定义一个结构体类型:
struct Person { // 里面的3个变量,可以称为是结构体的成员或者属性 i nt age; // 年龄 double height; // 身高 char *name; // 姓名};
//根据结构体类型,定义结构体变量
struct Person p = {20, 1.58, "david"};
以下定义结构体变量写法错误:
错误1. 不能定义完变量名之后再全部初始化赋值,应该定义完成同时赋值。
/
*错误写法 struct Person p2; p2 = {30, 1.67, "david"};*//*正确写法p.age = 30; p.name = "david";p.height = 1.67;*/
注意:结构体类型不能重复定义例如
struct Student { int age; }; struct Student { double height; };struct Student stu;
虽然内部属性不一样,但是C语言不允许在一个作用域有重名的结构体类型,编译器还是会报重复定义的错
定义结构体数组:
struct RankRecord { int no; // 序号 int score; // 积分 char *name; // 名称 }; struct RankRecord records[3] = { {1, "jack", 5000}, {2, "jim", 500}, {3, "jake",300} };
4.指向结构体的指针
struct Student { int no; int age; }; // 结构体变量 struct Student stu = {1, 20}; // 指针变量p将来指向struct Student类型的数据 struct Student *p; // 指针变量p指向了stu变量 p = &stu;
访问结构体变量成员的三种方式:
// 1:stu.age, stu.no// 2: (*p).age, (*p).no// 3: p->age, p->no
0 0
- C语言基础——笔记整理2
- C语言基础——知识点笔记整理1
- C语言基础——学习笔记整理3
- C语言基础整理
- C语言基础整理
- C语言基础整理
- C语言基础整理
- c 语言笔记整理
- 学习笔记—C语言基础篇
- Java笔记整理——Java语言基础
- Java笔记整理(2)Java语言基础
- C#笔记整理(2)C#语言基础
- C语言基础笔记2
- C语言基础知识点整理
- 数据结构基础整理(C语言)
- 初学C语言基础整理
- C语言基础考试整理
- C语言基础整理1
- C语言程序设计提高篇应用程序设计-CSDN银行2.0
- Huawei Talk Band B2 Smart Bracelet Fitness Wearable Health Sports Compatible smart Mobile Phone
- Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)
- 算法分析之递归策略
- hdoj 1698 Just a Hook 【线段树 区间修改】【线段树 + lazy思想】
- C语言基础——笔记整理2
- python 视觉:基本的图像操作和处理
- Forstner算法的Matlab代码
- iterator的顶层const与底层const
- CodeForces 534C Polycarpus' Dice 【数学】
- UESTC 菲波拉契数制
- 编程之美---求首尾相连数组子数组之和的最大值
- Harris算法的Matlab代码
- ThinkPHP 实例化模型