你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 7005|回复: 115

【1.6签到】每日问答——指针数组和数组指针有啥区别?

   关闭 [复制链接]
回帖奖励 87 ST金币 回复本帖可获得 1 ST金币奖励! 每人限 1 次

315

主题

253

回帖

0

蝴蝶豆

论坛元老

最后登录
2017-12-7
发表于 2016-1-6 08:42:40 | 显示全部楼层 |阅读模式
首先公布昨天的答案
NPN与PNP怎么区别?


用万用表R×100或R×1k挡测量三极管三个电极中每两个极之间的正、反向电阻值。当用第一根表笔接某一电极,而第二表笔先后接触另外两个电极均测得低阻值时,则第一根表笔所接的那个电极即为基极b。这时,要注意万用表表笔的极性,如果红表笔接的是基极b。黑表笔分别接在其他两极时,测得的阻值都较小,则可判定被测三极管为PNP型管;如果黑表笔接的是基极b,红表笔分别接触其他两极时,测得的阻值较小,则被测三极管为NPN型管。


-----------------------------------------------------------------------------------------------------------------------------------------

今日问题

指针数组和数组指针有啥区别?


回帖的同时可以提出问题,模电、数电、C语言都可以,被采纳的获得10金币

<
回复

使用道具 举报

47

主题

3404

回帖

30

蝴蝶豆

版主

最后登录
2020-12-7
发表于 2016-1-6 08:45:45 | 显示全部楼层

回帖奖励 +1 ST金币

数组指针与指针数组的区别在于:数组指针p是一个指针,而指针数组p是一个存放N个指针变量的数组。
一、数组指针
int (*p)[n]
重点:()优先级高([]、()的优先级是一样的,但它们的方向是从左至右的,所以先运行括号里的*p),首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度(n*sizeof(int))。
如要将二维数组赋给一指针,应这样赋值:
       int a[3][4];
       int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。
       p = a;        //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0]
       p++;      //<=>a[1]<=>p[1]
同时用来指向二维数组时,其引用和用数组名引用都是一样的即a<=>p。比如要表示数组中i行j列一个元素a[i][j]:
       p[i][j]<=>a[i][j] <=>*(p[i]+j)<=>*(a[i]+j) <=> *(*(p+i)+j)<=>*(*(a+i)+j) <=>  (*(p+i))[j]<=>(*(a+i))[j]

二、指针数组
int *p[n]
重点:[]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素:即它就是一个存放了n个指针的数组。
这样赋值也是错误的:p=a;因为p是个右值,p的值只存在p[0]、p[1]、p[2]...p[n-1],而且它们分别是指针变量可以用来存放变量地址。但可以这样*p=a; 这里*p表示指针数组第一个元素的值,a的首地址的值。
如要将二维数组赋给一指针数组:
        int *p[3];
        int a[3][4];
        for(i = 0; i < 3; i++)
        p[i] = a[i];
这里int *p[3] 表示一个一维数组内存放着三个指针变量,分别是p[0]、p[1]、p[2],默认情况下这三个指针变量都指向NULL的,所以要分别赋值。
回复 支持 1 反对 0

使用道具 举报

0

主题

83

回帖

0

蝴蝶豆

中级会员

最后登录
2016-3-22
发表于 2016-1-6 08:47:27 | 显示全部楼层

回帖奖励 +1 ST金币

数组指针定义 int (*p)[n];
指针数组定义 int *p[n];
回复 支持 反对

使用道具 举报

1

主题

22

回帖

0

蝴蝶豆

初级会员

最后登录
2016-3-18
发表于 2016-1-6 08:48:35 | 显示全部楼层

回帖奖励 +1 ST金币

1、指针数组——存放指针的一个数组比如int *point_arr[5];point_arr是一个指针数组,其每个元素point_arr[i]的类型是int *2、数组指针——指向一个数组的指针比如int a[3]={1,2,3};int (*pa)[3]= &a;pa是指向数组a的一个指针
回复 支持 反对

使用道具 举报

8

主题

206

回帖

0

蝴蝶豆

金牌会员

最后登录
2016-11-25
发表于 2016-1-6 08:48:54 | 显示全部楼层

回帖奖励 +1 ST金币

一个是数组,一种数据结构;另一个是指针,指向这个数据结构
回复 支持 反对

使用道具 举报

10

主题

379

回帖

0

蝴蝶豆

高级会员

最后登录
1970-1-1
发表于 2016-1-6 08:49:14 来自手机 | 显示全部楼层

回帖奖励 +1 ST金币

回复 支持 反对

使用道具 举报

1

主题

1065

回帖

1

蝴蝶豆

金牌会员

最后登录
2020-11-9
发表于 2016-1-6 08:49:29 | 显示全部楼层

回帖奖励 +1 ST金币

回复 支持 反对

使用道具 举报

29

主题

1256

回帖

59

蝴蝶豆

论坛元老

最后登录
2020-11-16
发表于 2016-1-6 08:50:36 来自手机 | 显示全部楼层

回帖奖励 +1 ST金币

一个是数组,一个是指针
回复 支持 反对

使用道具 举报

2

主题

155

回帖

0

蝴蝶豆

中级会员

最后登录
2017-3-7
发表于 2016-1-6 08:50:49 | 显示全部楼层

回帖奖励 +1 ST金币

                          
回复 支持 反对

使用道具 举报

2

主题

996

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-4-8
发表于 2016-1-6 08:54:07 | 显示全部楼层

回帖奖励 +1 ST金币

签到。。。。。。。。。。
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版