当前位置: 首页 > article >正文

c语言中,数组指针、指针数组、函数指针、指针函数

数组指针

直接理解为指向数组的指针,一般用于二位数组引用程序,形式如下
在这里插入图片描述
下面程序中用在二维数组中,把这个数组指针看作二维数组的第一维的指向:
在这里插入图片描述
用在一维数组中(本质还是二维数组)如下,类似指向这样的数组
在这里插入图片描述

在这里插入图片描述

指针数组

内部元素是指针的数组下面程序截取
在这里插入图片描述
在这里插入图片描述

函数指针

指向函数的指针;本质是一个指针,形如下面的格式
在这里插入图片描述

指针函数

返回值是指针的函数
在这里插入图片描述

总结

在这里插入图片描述

分析记忆

可参考

整体记忆规律:先看变量名先和那个部分组成一组,决定了整个变量表示的含义;然后剩下的就是描述变量元素的性质

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

拓展猜测

根据上面的结论可以推测出下面两种数据的对象含义

包含指向函数的指针数组

在这里插入图片描述
程序来源

#include<stdio.h>
int add(int x, int y)
{
	return x + y;
}
int sub(int x, int y)
{
	return x - y;
}
int mul(int x, int y)
{
	return x * y;
}
int div(int x, int y)
{
	return x / y;
}
int main()
{
	int (*parr[4])(int x, int y) = { add,sub,mul,div };
	return 0;
}

返回指向数组的指针函数

在这里插入图片描述
下面是对应的实例代码

#include <stdio.h>
 
int arr[5];
 
int (*get_array())[5] {
    int i;
    for (i = 0; i < 5; i++) {
        arr[i] = i;
    }
    return &arr;
}
 
int main() {
    int (*arr_ptr)[5] = get_array();
    for (int i = 0; i < 5; i++) {
        printf("%d ", (*arr_ptr)[i]);
    }
    return 0;
}

http://www.kler.cn/news/341386.html

相关文章:

  • 网络基础知识笔记(一)
  • Pytorch常见坑(不断更新)
  • YOLOv10改进,YOLOv10添加CA注意力机制,二次创新C2f结构,助力涨点
  • Kubernetes-Kind篇-01-kind搭建测试集群
  • TryHackMe 第6天 | Web Fundamentals (一)
  • chatGPT模型接口分享
  • SpringBoot中间件Docker
  • 【优选算法】(第二十篇)
  • 【力扣刷题实战】(顺序表)移除元素
  • 图像分割任务中,对于feature maps的Element-wise addition和concatenation操作都可以视为特征融合吗?
  • 基于SpringBoot剧本杀管理系统 【附源码】
  • 第一课 Vue环境准备
  • 模拟实现消息队列(基于SpringBoot实现)
  • C++学习笔记(55)
  • Git面试题总结
  • 成都睿明智科技有限公司靠谱吗怎么样?
  • PHP常见机制
  • 2024-10-09 问AI: [AI面试题] 描述数据预处理在 AI 中的重要性
  • 网络安全有救了,37所高校新增网络安全空间安全专业
  • 【AIGC】2022-CVPR-利用潜在扩散模型进行高分辨率图像合成