前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >int(*p)[4] int*p[4]

int(*p)[4] int*p[4]

作者头像
谙忆
发布于 2021-01-19 03:54:40
发布于 2021-01-19 03:54:40
2K01
代码可运行
举报
文章被收录于专栏:程序编程之旅程序编程之旅
运行总次数:1
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1、int(*p)[4];------p为指向含4个元素的一维整形数组的指针变量(是指针)
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[4]={1,2,3,4};
    int (*p)[4];
    p=&a;
    printf("%d\n",(*p)[3]);
    printf("%d\n",*p);
    return 0;
}

2、int *p[4];-------定义指针数组p,它由4个指向整型数据的指针元素组成(是数组)
#include <stdio.h>
#include <stdlib.h>

int main()
{
   int *p[4];
   int a=6;
   p[1]=&a;
   printf("%d\n",*p[1]);
    return 0;
}
int *p[4]是一个指针数组,就是数组里面放的是指针。由于[]*优先级更高,因此p先与[4]结合,形成p[4]形式,这显然是数组形式,它有4个元素,然后再与p前面的*结合,*表示此数组是指针类型的,每个数组元素(也就是一个指针变量)都可以指向一个整形变量。*p[4]是指针数组,他是数组。数组里面放的是指针,简单的说定义了4个指针,分别是*p[0] *p[1] *p[2] *p[3],相当于将这四个指针打包到这个数组中 (*p)[4]是数组指针,他是指针并且是一个指向一维数组的指针。因为以行为单位,又称行指针。通俗点讲,后面的[4]说明他的每行有4个元素,[0]代表第一列的下标,[1]代表第二列的下标,一次类推。-------------------------------------------------------------------------------------------------这是一个数组指针,指向对象是这个数组; 示例: 
static int m[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};
/* 定义二维数组m并初始化*/ 
int (*p)[4];
//数组指针 p是指针,指向一维数组,每个一维数组有4个int元素 
int i,j; p=m; 
//p是指针,可以直接指向二维数组 
printf("--数组指针输出元素--\n");
 for(i=0;i<3;i++)
/*输出二维数组中各个元素的数值*/ 
   { for(j=0;j<4;j++) 
     { 
       printf("%3d ",*(*(p+i)+j));
     } 
   }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015/09/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
指针详解(3)
在使用上,由于pstr存放的是字符串第一个字符的地址所以 对pstr解引用就可以打印第一个字符,打印整个操作符只需提供首元素的地址,使用%s就可以打印出来。
技匠晓晨
2024/11/26
830
指针详解(3)
【C语言】带你手把手拿捏指针(3)(含转移表)
   在指针的类型中我们知道有⼀种指针类型为字符指针 char* ,⼀般使⽤的方式如下:
TANGLONG
2024/10/15
1060
【C语言】带你手把手拿捏指针(3)(含转移表)
指针小总结
代码输出的结果是:40,如果arr是数组首元素的地址,那输出应该的应该是4/8才对。 其实数组名就是数组首元素(第⼀个元素)的地址是对的,但是有两个例外: • sizeof(数组名),sizeof中单独放数组名,这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节 • &数组名,这里的数组名表示整个数组,取出的是整个数组的地址(整个数组的地址和数组首元素的地址是有区别的) 除此之外,任何地⽅使用数组名,数组名都表示首元素的地址
ljw695
2024/10/18
730
指针小总结
C语言学习系列-->看淡指针(2)
这⾥我们发现&arr[0]和&arr[0]+1相差4个字节,arr和arr+1 相差4个字节,是因为&arr[0] 和 arr 都是 ⾸元素的地址,+1就是跳过⼀个元素。 但是&arr 和 &arr+1相差40个字节,这就是因为&arr是数组的地址,+1 操作是跳过整个数组的。
南桥
2024/01/26
1250
C语言学习系列-->看淡指针(2)
带你深层了解c语言指针
arr1数组,arr2数组,arr3数组在内存中都有自己独立的内存空间, 我们将这三个一维数组的首元素地址放在一个新的指针的数组(arr)中,通过指针数组来访问这三个一维数组,效果就如同二维数组一样,但并不是真正的二维数组. 图解:
初阶牛
2023/02/27
2920
带你深层了解c语言指针
小白程序猿10分钟彻底打败指针
指针是C语言的难点,本篇文章总结一下各类指针的用法。 指针是个变量,它存储的是变量的地址,这个地址指向哪里,取决于指针的类型,指针类型包括以下几种:
苏州程序大白
2021/08/13
2920
小白程序猿10分钟彻底打败指针
【C语言】⒉万字带你玩转高阶指针『0»1』
🚀write in front🚀 ---- 🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家^星级博主~掘金 || InfoQ创作者~周榜34»总榜2815🏅 🆔本文由 謓泽 原创 CSDN首发🙉如需转载还请通知⚠ 📝个人主页:打打酱油desuCSDN博客💬 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏:【C】系列_打打酱油desu-CSDN博客[〇~①]🎓
謓泽
2022/12/12
6120
【C语言】⒉万字带你玩转高阶指针『0»1』
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
答案是:指针数组是一个数组是数组,储存的是地址(首元素),数组指针是数组还是指针哪?答案是--------指针变量
用户11367452
2024/11/21
1080
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
什么是 字符指针? 数组指针? 函数指针? 函数指针数组?
代码 const char* pstr = “hello world.”; 特别容易让我们以为是把字符串 hello world. 放到字符指针 pstr ⾥了,但是本质是把字符串 hello world. 首字符的地址放到了ps!!tr中。
用户11317877
2024/10/16
1090
什么是 字符指针? 数组指针? 函数指针? 函数指针数组?
C语言----深入理解指针(3)
char* p = "abcdef";//这里的赋值是讲字符串中首字符的地址存在p中
凯子坚持C
2024/09/23
970
【C语言期末不挂科——指针进阶篇】【上】
  指针的类型里面我们知道有一种指针 类型为 字符指针(char *),经过初阶的学习我们已经能用:
用户11029129
2024/06/04
840
【C语言期末不挂科——指针进阶篇】【上】
【C语言基础】:深入理解指针(三)
书山有路勤为径,学海无涯苦作舟。 创作不易,宝子们!如果这篇文章对你们有帮助的话,别忘了给个免费的赞哟~
爱喝兽奶的熊孩子
2024/04/10
1040
【C语言基础】:深入理解指针(三)
指针进阶(1)
代码 const char* p = “abcdef”; 并不是把字符串 abcdef 放到字符指针 p 里去,而是把字符串 abcdef 首字符的地址放到 p 中去;同时,因为 abcdef 是一个常量字符串,所以要用 const 进行修饰,以保证 p 中的内容不会被修改。
waves浪游
2024/01/22
1280
指针进阶(1)
抽丝剥茧C语言(高阶)指针的进阶
数组指针是指针?还是数组? 答案是:指针。 我们已经熟悉: 整形指针: int * pint; 能够指向整形数据的指针。 浮点型指针: float * pf; 能够指向浮点型数据的指针。 那数组指针应该是:能够指向数组的指针。 下面代码哪个是数组指针?
有礼貌的灰绅士
2023/03/28
4250
抽丝剥茧C语言(高阶)指针的进阶
【C语言进阶】指针数组 —— 数组指针
🎬 鸽芷咕:个人主页 🔥 个人专栏:《C语言进阶篇》《C语言初阶篇》
鸽芷咕
2023/12/25
1940
【C语言进阶】指针数组 —— 数组指针
【C语言】指针进阶:字符指针&&数组指针&&函数指针
✨作者:@平凡的人1 ✨专栏:《C语言从0到1》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改变 ---- 🌹感谢您的点赞与关注,同时欢迎各位有空来访我的🍁平凡舍 ---- 文章目录 @[toc] 🚀前言 🚀字符指针 🚀指针数组 🚀数组指针 🍁&数组名 与 数组名 🍁数组指针的使用 🚀数组传参、指针参数 🍁一维数组传参 🍁二维数组传参 🍁一级指针传参 🍁二级指针传参 🚀函数指针 🚀结语 🚀前言 回想之前,我们学了指针的一些基础👉 指针与结构体 我们知道了指针的概念
平凡的人1
2022/11/15
3.1K0
【C语言】指针进阶:字符指针&&数组指针&&函数指针
【C指针进阶】(C精髓)——对指针的更进一步深入剖析(图文近2w详解)
本文承接了上文:初阶指针——全面了解指针,在此基础上对指针进行更深一步的剖析,相信我,也请相信你自己!
诺诺的包包
2023/02/17
5900
【C指针进阶】(C精髓)——对指针的更进一步深入剖析(图文近2w详解)
【c语言】指针就该这么学(2)
这里我们使用&arr[0]来得到数组首元素的地址。不过,数组首元素还有其他表示方法:数组名。
ephemerals__
2024/10/24
1310
【c语言】指针就该这么学(2)
C语言指针进阶
(公众号:愚生浅末) 在指针的类型中我们知道有一种指针类型为字符指针 char* ;
愷龍
2023/10/16
2610
C语言指针进阶
c语言从入门到实战——数组指针与函数指针
数组指针和函数指针是C语言中的两种重要指针类型。数组指针指向一个数组,可以用来访问和修改数组中的元素;而函数指针则指向一个函数,可以用来调用该函数。两者在语法和用法上有所不同,需要仔细区分。正确理解和使用它们可以提高程序的效率和可维护性。
鲜于言悠
2024/03/20
1600
c语言从入门到实战——数组指针与函数指针
相关推荐
指针详解(3)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档