[C学习]函数,指针,数组
来源:互联网 发布:甲醛检测仪品牌 知乎 编辑:程序博客网 时间:2024/04/30 21:50
函数在编译的时候都有一个入口地址,函数也是有返回值的,就算是定义函数时没有写明函数返回值类型(C中默认为int也可认为是char).它也会返回一个不确定的值.如果限定不返回值,那么用void来表示没有返回值,它不给返回值分配内存地址,如果有对这个函数返回值的引用,那么编译会出现错误.
指针可以指向函数的入口地址,函数名类似于数组名,都是表明地址的.
1>函数指针:指向函数入口地址的指针,一经指定,那么可以用指针来调用函数.
形式:int (*p)();//必须写成()的形式,加()将*与名称绑定在一起,不然p会先与函数的参数结合,而变成返回值是指针的函数.
这是对函数指针的定义,赋值 p=max;//不要写成p=max();的形式,只是把首地址给p.而max就是函数的入口地址.
说明:
a>形式:数据类型 (* 指针变量名)()//这里的"数据类型"是函数的返回 值的类型
b>函数调用,可以用函数名调用,也可通过函数指针来调用.
c> XX (*p)()定义一个指向函数的指针变量,它不是固定指向哪 一个函数,而只是表示定义了这样的变量,它是专门用来存放函数入口地址的.在程序中把哪一个函数入口地址给它,它就指向哪一个函数.它可以先后指向返回值类型相同的不同函数.]
d>函数指针,如p+n,p++,p--等运算无意义.(不等同于指针常量,只是它只指各入口地址,地址计算指向的地址不确定.???函数存放的地址是连续的吗?)
2>返回指针的函数
形式:类型名 * 函数名(参数表列)
如:int *a(int x,int y){}//a是函数名,调用它以后能返回一个指向整型数据的指针.
注意:指针的级别,即它每移动一次,偏移量.(行,列)
////////////////////////////////////////////////////////////////////////////////////////
指针数组
1>数组里的元素全是指针,那么就是指针数组.那么这个数组名应该相当于一个2级指针,它指同数组的首地址,而这个地址里那是一个指针.一般用它来处理字符串,即字符串数组.
形式:类型* 数组名[];如:int * p[4];//表明数组中有4个元素,每一个元素都是指针,指向整型数据.
指向指针的指针
就是2级指针了,如果是字符串数组,那么数组名相当于2级指针了.可以是一个局部变量,用来对字符串数组进行操作,数组名不能进行自增等运算,而用一个2级指针指向它后,可用这个指针来进行地址的运算.
- [C学习]函数,指针,数组
- c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针
- c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针
- C/C++ 学习笔记:指针数组 数组指针 指针函数 函数指针
- [C]函数指针数组
- C 函数指针数组
- C函数指针数组
- 学习:“指针数组”、“ 数组指针 ”、“函数指针”、“ 函数指针数组”、“指向函数指针数组的指针”
- 【C语言】函数,函数指针;指针数组,数组指针。
- C学习笔记(六)函数、数组与指针
- ios学习路线—C语言(函数,数组,字符串,指针)
- C Primer Plus学习 二十 函数、数组和指针
- C语言深度剖析学习笔记-指针、数组、内存、函数
- C语言学习小结(指针、数组、函数)
- C函数指针学习
- C语言:数组 指针 函数
- c有关函数指针数组
- C语言函数指针数组
- Linux环境下的Socket编程
- matlab工具箱函数汇总
- NTLM挑战模式散列认证加密协议过程,算法实现与一些想法
- [转]GridView 72般绝技
- 问题解决:这个回应response的getOutputStream()已经被调用过
- [C学习]函数,指针,数组
- Socket编程中select()的妙用
- 加入域提示“不能访问网络位置”的错误的解决办法
- 清醒的力量——目标设定前的准备 FROM YEEYAN
- C++
- 关于分散加载文件
- 判断用户是否已经登陆域的注册表键值
- Pure virtual function call error探讨
- 关于多态在class与templates中的区别。