指针数组:它是一个数组,数组里面装的是类型相同的指针。数组占多少个字节由数组本身的大小决定。

如:int *p[5]; //p为数组名,第一个元素为p[0]。

数组指针:其本身就是一个指针,它指向一个数组。其大小就是指针的大小,在32位操作系统中,指针大小为4字节,64位操作系统中指针大小为8字节。

如:int (*p)[10]; //p指向的是数组的首地址,第一个元素为*p[0]。

int q[10];

p=&q;

函数指针:一个指向函数首地址的指针,其本质是一个指针变量,该指针指向这个函数。

如:int (*func)(int a,intb);

该指针需要把一个函数的地址赋给它。

如:func=Function;

或   func=&Function;

指针函数:返回值为指针的函数。

如:int *func(int a,int b);

函数指针数组:它本质是一个数组,其元素是指向函数地址的指针。

如:int (*p[10])(int a,inb);

指针数组,数组指针,函数指针,指针函数,函数指针数组相关推荐

  1. c++函数内部可以返回函数内部定义的指针 但是不能返回函数内部定义的数组...

    1.返回数组 // demo.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<stdio.h> char *m ...

  2. 【C 语言】二级指针作为输入 ( 二维数组 | 抽象业务函数 | 二维数组打印函数 | 二维数组排序函数 )

    文章目录 一.抽象 二维数组 业务函数 1.二维数组 打印函数 2.二维数组 排序函数 二.完整代码示例 一.抽象 二维数组 业务函数 1.二维数组 打印函数 注意 , 二维数组 作为 函数参数 输入 ...

  3. 【C 语言】一级指针 易犯错误 模型 ( 判定指针合法性 | 数组越界 | 不断修改指针变量值 | 函数中将栈内存数组返回 | 函数间接赋值形参操作 | 指针取值与自增操作 )

    文章目录 一.判定指针合法性 二.数组越界 三.不断修改指针变量值 四.函数中将栈内存数组返回 五.函数间接赋值形参操作 六.指针取值与自增操作 一.判定指针合法性 判定指针合法性时 , 必须进行如下 ...

  4. 指针数组的初始化和遍历,并且通过for循环方式、函数传参方式进行指针数组的遍历...

    1 /************************************************************************* 2 > File Name: messa ...

  5. 剖析数组名、函数名(不是指针常量,更不是指针)

    对于一个数组,如 int a[4];  如果只是给出数组名a,编译器不知道该取该数组的第几个元素,因此编译器不会自动取值,而是返回该数组的首地址(第一个元素的地址).其实,数组名a就是数组本身,并不是 ...

  6. 【C语言进阶深度学习记录】三十一 数组作为函数参数时退化为指针

    之前的学习数组的文章中,已经知道一维数组作为函数参数的时候,最终会被编译器编译为指针.今天来看看二维数组的情形 文章目录 1 为什么C语言中的数组作为函数参数会退化为指针? 2 二维数组作为函数参数如 ...

  7. C++(12)--函数基础:按值传递、传递数组、函数指针

    模块化编程--函数 1. 函数基本知识 2. 函数的参数 2.1 按值传递机制(小议按引用传递) 2.2 使用数组做函数参数(用户头文件,const的防改) 2.3 使用二维数组作为函数的参数 2.4 ...

  8. 常量 数组 函数 枚举 结构体与指针

    与指针括起来的是指针(*a) int const *a = &b; /* 常量指针 */ int (*a)[5]; /* 数组指针 */ int (*add)(int a, int b); / ...

  9. 【C语言指针】 回调函数、冒泡函数模拟实现qsort、指针和数组笔试题解析

    目录 一.回调函数 定义: 用回调函数形式实现加法运算 二.qsort 函数参数: void指针 用qsort排序整型和结构体 用冒泡函数模拟实现qsort,排序整型和结构体 三.指针和数组笔试题解析 ...

  10. 函数指针,函数指针数组,函数返回值为函数指针

    函数的名字就是函数的首地址:定义函数指针; int (*p)(int )     p为函数指针变量名字,int 为函数的返回值类型为int型:(int)为函数的形参类型为int型, 注:因为优先级所以 ...

最新文章

  1. 勇敢的交流者在敏捷组织中的重要性
  2. 网页中嵌套网页flush_如何修改网页中的内容?
  3. 回答嵌入式初学者的一些问题
  4. poj3252Round Numbers
  5. html5 网页宽度100,HTML5 Canvas 100%视口宽度?
  6. HDU1108 最小公倍数【欧几里得算法】
  7. C++——模板(超详细的模板解析)
  8. 为vim编辑器设置行号
  9. Intel汇编-LOOP循环检查ECX含零值
  10. [HITICS]大作业——程序人生Hello‘s P2P
  11. 汇编(二)——微机原理与接口
  12. linux 安装到usb设备,如何通过 USB 设备来安装 CentOS
  13. 思维改变生活:亲身经历了就一定能明白吗?
  14. 达人评测i5 1340p和i5 12500h差距 酷睿i51340p和i5 12500h选哪个
  15. 解析与DOM树构建之解析规则
  16. Python Kwant孤立体系本征态计算
  17. crontab php 定时任务
  18. IEEE 802.1 Qch 协议的详细总结(循环排队和转发CQF)
  19. redis 命令创建多层次插入hash
  20. 旅行青蛙无限三叶草简单版:GG修改器

热门文章

  1. easyui combobox、validatebox、datebox必选、禁用、可用问题
  2. 中国航信2020java校招笔试题_航信校招java笔试题
  3. CENTOS上的网络安全工具(七)MYSQL也不能少
  4. 电子商务行业数据集成案例介绍
  5. ASP.NST 运行原理
  6. umap算法_科学网—[转载]【源码】均匀流形近似与投影(UMAP)算法仿真 - 刘春静的博文...
  7. 谷歌MIT:微小运动放大算法的实现
  8. 在家中搭建网站服务器可行吗?
  9. 自定义Maven Archetype模板工程
  10. ubuntu中snap包的安装、更新删除与简单使用