Loading [MathJax]/jax/input/TeX/config.js
前往小程序,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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【C指针进阶】(C精髓)——对指针的更进一步深入剖析(图文近2w详解)
本文承接了上文:初阶指针——全面了解指针,在此基础上对指针进行更深一步的剖析,相信我,也请相信你自己!
诺诺的包包
2023/02/17
5850
【C指针进阶】(C精髓)——对指针的更进一步深入剖析(图文近2w详解)
抽丝剥茧C语言(高阶)指针的进阶
数组指针是指针?还是数组? 答案是:指针。 我们已经熟悉: 整形指针: int * pint; 能够指向整形数据的指针。 浮点型指针: float * pf; 能够指向浮点型数据的指针。 那数组指针应该是:能够指向数组的指针。 下面代码哪个是数组指针?
有礼貌的灰绅士
2023/03/28
4190
抽丝剥茧C语言(高阶)指针的进阶
指针详解(3)
在使用上,由于pstr存放的是字符串第一个字符的地址所以 对pstr解引用就可以打印第一个字符,打印整个操作符只需提供首元素的地址,使用%s就可以打印出来。
技匠晓晨
2024/11/26
790
指针详解(3)
【C语言期末不挂科——指针进阶篇】【上】
  指针的类型里面我们知道有一种指针 类型为 字符指针(char *),经过初阶的学习我们已经能用:
用户11029129
2024/06/04
800
【C语言期末不挂科——指针进阶篇】【上】
【C语言】带你手把手拿捏指针(3)(含转移表)
   在指针的类型中我们知道有⼀种指针类型为字符指针 char* ,⼀般使⽤的方式如下:
TANGLONG
2024/10/15
1040
【C语言】带你手把手拿捏指针(3)(含转移表)
指针进阶(C语言)
*pp 通过对 pp 中的地址进行解引用,这样找到的是 p , *pp 其实访问的就是 p .
薄荷冰
2024/01/22
1410
指针进阶(C语言)
【C指针详解】进阶篇
大家思考一下,这里是把一个字符串"hello bit."放到pstr指针变量里了吗?
YIN_尹
2024/01/23
2640
【C指针详解】进阶篇
指针小总结
代码输出的结果是:40,如果arr是数组首元素的地址,那输出应该的应该是4/8才对。 其实数组名就是数组首元素(第⼀个元素)的地址是对的,但是有两个例外: • sizeof(数组名),sizeof中单独放数组名,这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节 • &数组名,这里的数组名表示整个数组,取出的是整个数组的地址(整个数组的地址和数组首元素的地址是有区别的) 除此之外,任何地⽅使用数组名,数组名都表示首元素的地址
ljw695
2024/10/18
670
指针小总结
【C语言】深入解开指针(四)
通过对前面指针的学习,你可能对指针有了一些理解,比如,数字名的理解,然后怎么使用指针来访问数组,二级指针,指针数组 …
学习起来吧
2024/02/29
1370
【C语言】深入解开指针(四)
[C语言]指针进阶(Pointer to the advanced)
本质:const char * pstr = "hello world";本质是把字符串hello world,首字符的地址放到了pstr中.
IT编程爱好者
2023/04/12
5090
[C语言]指针进阶(Pointer to the advanced)
C语言——指针进阶
指针的主题,我们在初级阶段的《指针》章节已经接触过了,我们知道了指针的概念:
绝活蛋炒饭
2024/12/16
1460
C语言——指针进阶
【C语言基础】:深入理解指针(三)
书山有路勤为径,学海无涯苦作舟。 创作不易,宝子们!如果这篇文章对你们有帮助的话,别忘了给个免费的赞哟~
爱喝兽奶的熊孩子
2024/04/10
980
【C语言基础】:深入理解指针(三)
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
1220
C语言学习系列-->看淡指针(2)
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
答案是:指针数组是一个数组是数组,储存的是地址(首元素),数组指针是数组还是指针哪?答案是--------指针变量
用户11367452
2024/11/21
970
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
带你深层了解c语言指针
arr1数组,arr2数组,arr3数组在内存中都有自己独立的内存空间, 我们将这三个一维数组的首元素地址放在一个新的指针的数组(arr)中,通过指针数组来访问这三个一维数组,效果就如同二维数组一样,但并不是真正的二维数组. 图解:
初阶牛
2023/02/27
2880
带你深层了解c语言指针
小白程序猿10分钟彻底打败指针
指针是C语言的难点,本篇文章总结一下各类指针的用法。 指针是个变量,它存储的是变量的地址,这个地址指向哪里,取决于指针的类型,指针类型包括以下几种:
苏州程序大白
2021/08/13
2910
小白程序猿10分钟彻底打败指针
什么是 字符指针? 数组指针? 函数指针? 函数指针数组?
代码 const char* pstr = “hello world.”; 特别容易让我们以为是把字符串 hello world. 放到字符指针 pstr ⾥了,但是本质是把字符串 hello world. 首字符的地址放到了ps!!tr中。
用户11317877
2024/10/16
880
什么是 字符指针? 数组指针? 函数指针? 函数指针数组?
【C语言进阶】指针数组 —— 数组指针
🎬 鸽芷咕:个人主页 🔥 个人专栏:《C语言进阶篇》《C语言初阶篇》
鸽芷咕
2023/12/25
1730
【C语言进阶】指针数组 —— 数组指针
指针进阶(1)
代码 const char* p = “abcdef”; 并不是把字符串 abcdef 放到字符指针 p 里去,而是把字符串 abcdef 首字符的地址放到 p 中去;同时,因为 abcdef 是一个常量字符串,所以要用 const 进行修饰,以保证 p 中的内容不会被修改。
waves浪游
2024/01/22
1250
指针进阶(1)
C语言----深入理解指针(3)
char* p = "abcdef";//这里的赋值是讲字符串中首字符的地址存在p中
凯子坚持C
2024/09/23
930
相关推荐
【C指针进阶】(C精髓)——对指针的更进一步深入剖析(图文近2w详解)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文