数组指针 指针数组 函数指针 指针函数

数组指针:int(p)[4]
指针数组:int
p[4]

 int a[3] = {0};
    
    
    int (*p)[3] = &a;
    printf("%p\n",a);
    
    printf("%p",p);

打印地址一样:也就是说我们平时看到的一维数组取地址的名字本质就是一个数组指针,一维数组名是一级指针


void pt(int(*p)[3],int a) {
    printf("%d\n",p[a-1][3-1]);  //5
}

int main(int argc, const char * argv[]) {
    
    int a[3][3] = {{32,32,3322},{3213,321,1},{254,51,5}};
    
    pt(a,3);
    
    return 0;
}

因此一个函数如何需要传入一个二维数组应该这么传递(正常传入一个一维数组是传一维数组成员的指针的)

函数指针: intsum(int a, int b)
指针函数: int(
sum)(int a,int b)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,859评论 3 44
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 11,555评论 1 42
  • !!!注意:因为简书的显示格式缘故,所以“ * ”显示会出现问题,可能有些星号由于疏忽未改动格式,造成没有显示,请...
    Eric_Hunter阅读 4,468评论 0 0
  • #mark- 01-二维数组基本概念 //问题:什么是二维数组?二维数组的格式?二维数组如何存储?二维数组是如何遍...
    飞飞喵阅读 5,062评论 0 1
  • 3-001 周末同学聚会,酒过三巡,开始说各个同学的现状。其中一则八卦说某位男同学因娶妻娶的好,已于美利坚定居。席...
    星沛olina阅读 4,093评论 0 0

友情链接更多精彩内容