数组指针的本质是指针,char(*P)[]是指针,还是个指向数组的指针,这么理解的话与char*p有啥区别呀?
4个回答
展开全部
指向数组的指针,本质上不就是指针么
char(*P)[]就是一个数组指针,也就是一个指向数组的指针,但是你没有写数组的元素个数,这个是错误的
数组指针和普通的指针基类型是不同的,也就是说两者进行算术运算时结果会不同
比方说同样是进行+1操作,实际上加的地址值偏移量是不同的
char(*P)[]就是一个数组指针,也就是一个指向数组的指针,但是你没有写数组的元素个数,这个是错误的
数组指针和普通的指针基类型是不同的,也就是说两者进行算术运算时结果会不同
比方说同样是进行+1操作,实际上加的地址值偏移量是不同的
追问
那char(*p)[3]是不是 有三个指针可以指向三个字符串???????
追答
不是,这是一个数组指针本质上是一个指针
如果要实现你所说的,应该是定义为char *p[3];
展开全部
char(*P)[]和char *P[]是有本质区别的,一个是数组指针,一个是指针数组。指针数组,说明这个声明中有多个指针,数组指针,指数组名的指针,即数组首元素地址的指针。char *p只是一个指针。
追问
那么 char(*p)[]和char a[][]有啥联系和区别呢?
追答
大致的理解那就是 char(*P)[]和char *P[]的区别,只是a【】【】是固定长度的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char(*P)[]是指向数组的指针P
你这种声明方式可以直接把P声明为指向指针的指针,也就是char **P
与char *p有本质的区别 一个是指向指针的指针,一个是指向字符的指针
你这种声明方式可以直接把P声明为指向指针的指针,也就是char **P
与char *p有本质的区别 一个是指向指针的指针,一个是指向字符的指针
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询