找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 950|回复: 9

如何区分这几个指针呢?

[复制链接]
发表于 2009-11-3 04:15:13 | 显示全部楼层 |阅读模式 IP:江苏扬州
请问大家这三个如何理解呢?
他们的功能有什么不同呢?

int*p[4];
int(*p)[4];
int*(*p)[4];
发表于 2009-11-3 04:15:14 | 显示全部楼层 IP:江苏扬州
指针数组
指针数组
2级指针数组
回复

使用道具 举报

发表于 2009-11-3 04:15:16 | 显示全部楼层 IP:江苏扬州
1.指针数组
2.指向一个有4个元素的二维数组的行指针
3.指向一个有4个元素的二维数组的行指针.且这个二维数组的每个元素全部为int型的指针

简单点


2.

int a[4][4];
int (*p)[4]=a;
3.
int *a[4][4];
int *(*p)[4]=a;
PS.外带个超值赠送. int(**p)[4] 为一个指向一个有4个元素的二维数组的行指针的指针
回复

使用道具 举报

发表于 2009-11-3 04:15:17 | 显示全部楼层 IP:江苏扬州
song4犯的错误可不小哦...
回复

使用道具 举报

发表于 2009-11-3 04:15:18 | 显示全部楼层 IP:江苏扬州

忘记了哦
int *p[4]!=int(*p)[4]????
应该看书了
回复

使用道具 举报

发表于 2009-11-3 04:15:19 | 显示全部楼层 IP:江苏扬州

想起来了
呵呵
回复

使用道具 举报

发表于 2009-11-3 04:15:20 | 显示全部楼层 IP:江苏扬州
int *p[4];
有 4 個 *p (p[0]....p[4])

int (*p)[4]:
p 是一個指針 (*), 指針指向 4 個元素的數組, 每個元素爲 int

int *(*p)[4]:
p 是一個指針 (第二個 *), 指針指向 4 個元素的數組, 每個元素是一個指針 (第一個 *), 指針指向 int 類型


int (**p)[4]:
p 是一個指針 (第二個 *), 指針指向另一個指針 (第一個 *), 這另一個指針指向 4 個元素的數組, 數組每個元素爲 int
回复

使用道具 举报

发表于 2009-11-3 04:15:21 | 显示全部楼层 IP:江苏扬州
指針指向 4 個元素的數組


很显然这是错误的..(*p)[4]指向的必须是一个二维数组

简单的例子..看看

int a[4];
int (*p)[4]=a; 可以编译通过吗?

你下面所说的全部同上.
回复

使用道具 举报

发表于 2009-11-3 04:15:22 | 显示全部楼层 IP:江苏扬州
yeshirow说:
int (*p)[4]:
p 是一個指針 (*), 指針指向 4 個元素的數組, 每個元素爲 int

SunShining说:
很显然这是错误的..(*p)[4]指向的必须是一个二维数组
简单的例子..看看
int a[4];
int (*p)[4]=a; 可以编译通过吗?

你们谁是正确的呀!我是出学者!
回复

使用道具 举报

发表于 2009-11-3 04:15:23 | 显示全部楼层 IP:江苏扬州
我想2个人肯定都是理解的,只不过SunShining表达的更清楚一点而已

只要在yeshirow几基础上在增加一点,那就是p是一个行指针就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 17:22 , Processed in 0.302496 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表