阅读代码的重要技巧 函数类型 函数指针 回调函数 使用示例 指针阅读技巧解析 例…
                      指针的本质 指针需要保证指向任意数据类型,所以指针变量都占用32位bit即4字节. PS:不同机器上,指针占用内存不一                        传值调用与传址调用                传值调用   需用8000字节内存               传址调用 只需用4字节内存 所以复杂数据类型用指针调用     swap 传值调换,只是内部参数a.b调换 传址调换,外部i.j调换 SWAP宏直接替换(好处)        …
数组的本质: 指针的运算: 小标VS指针: a和&a的区别: 例: 数组参数: 所以下例返回4 指针和数组的对比小结:…
认清函数的真面目 函数的意义 面向过程的程序设计 函数声明和定义 函数参数 编写代码的时候,不要编写类似先后调用的代码 f(k,k++) C语言中的顺序点 a--&&a  ,&&为顺序点,所以a--&&a为0 f(k,k++)的顺序点为进入函数体之前 函数的缺省认定 小结 可变参数列表 如何编写一个可以计算n个数平均值的函数? 用数组 用可变参数列表 可变参数 可变参数的限制 小结 李逵和李鬼(函数和宏) 宏的优点和缺点 函数的优缺点 宏无可替代的优点 小结…
读书笔记之:C语言深度剖析 <C 语言深度解剖>这本书是一本“解开程序员面试笔试的秘密”的好书.作者陈正冲老师提出“以含金量勇敢挑战国内外同类书籍”,确实,这本书中的知识点都是一些在面试中常见的考点,并且很多都是我们平常不注意的点,对于我们深入理解C语言确实很有帮助. 第1章关键字 1.register虽然寄存器的速度非常快,但是使用register修饰符也有些限制的:register变量必须是能被CPU寄存器所接受的类型.意味着register变量必须是一个单个的值,并且其长度应小于或等于整…
一.函数 函数是一个包含完成一定功能的执行代码段.我们可以把函数看成一个"黑盒子", 你只要将数据送进去就能得到结果, 而函数内部究竟是如何工作的的, 外部程序是不知道的.外部程序所知道的仅限于输入给函数什么以及函数输出什么.函数提供了编制程序的手段,使之容易读.写.理解.排除错误.修改和维护. 计算1-n的和 #include "stdio.h" void main() { //write once only once 只写一次 ; ;i<=;i++) {…
1. 函数类型 (1)C 语言中的函数有自己特定的类型,这个类型由返回值.参数类型和参数个数共同决定.如 int add(int i,int j)的类型为 int(int,int). (2)C 语言中通过 typedef 为函数类型重命名 typedef type name(parameter list);//如 typedef int f(int,int); 2. 函数指针 (1)函数指针用于指向一个函数,函数名是执行函数体的入口地址. (2)定义函数指针的两种方法 ①通过函数类型定义:Fun…
引子:在学习CPrimerPlus的第十四章的14.13节中,遇到了如下三行文字,是有关指向函数的指针的,把我搞晕了. char * fump(); //返回指向char的指针的函数 char (* frump)(); //指向返回类型为char的函数的指针 ])(); //由3个指针组成的数组,每个指针指向返回类型为char的函数 原来自己根本都不知道还有指向指针的函数,难怪自己懵逼了.参考了两篇博客(1."http://blog.csdn.net/hzyong_c/article/detai…
每个函数都有自己的内存地址,指针保存了函数的地址后就能指向函数了. #include <stdio.h> double haha(double d, char *s, int a) { } /* 掌握: 1.看懂语法 2.定义指向函数的指针 double (*p)(double, char *, int); p = haha; 或者 double (*p)(double, char *, int) = haha; 3.如何间接调用函数 1> p(10.7, "jack"…
指针数组和数组指针的分析 数组类型 定义数组类型 数组指针 这个不可能为数组指针,指向数组首元素 例 指针数组 例    main函数的参数 例 小结…