茶叶仓鼠 发表于 2020-3-28 21:08:04

数组指针与指向数组的指针的区别

为什么构建一个指向字符串的指针后,可以用*(p1+3),而构建一个数组指针后,必须使用*(*p2+3)?
我感觉在针对字符串类型的数组上,似乎数组指针没有指向数组的指针好用?
代码如下:
int main(){
        int max=1024;
        char str1[]="My name is LYL";
        char *p1=str1;
        char (*p2)=&str1;
        printf("指针指向字符串: %c",*(p1+3));
        printf("数组指针演示:%c",*(*p2+3)) ;
       
        return 0;
}
结果是:
指针指向字符串: n
数组指针演示:n

BngThea 发表于 2020-3-28 21:18:03

那当然了,能用简单的就用简单的
但有些实现是一个简单的指针所能做到的,不得已只能用更复杂的指针

4goodworld 发表于 2020-3-28 22:15:13

你这个问题,就像是提出:从我家到隔壁楼底下取快递,我感觉步行都比开车快还方便,这是为啥?
车子的用途不在于此嘛,不然呢?
车子可以做到和步行一样的事情,但未必效果比步行更好,但车子肯定可以干一些步行可能不容易实现的事情,

茶叶仓鼠 发表于 2020-3-29 09:11:24

BngThea 发表于 2020-3-28 21:18
那当然了,能用简单的就用简单的
但有些实现是一个简单的指针所能做到的,不得已只能用更复杂的指针

昨天提这个问题的时候,还没有做S1E23的作业,对一些概念理解不透彻,看了作业解析后就明白了一些了{:5_109:}
页: [1]
查看完整版本: 数组指针与指向数组的指针的区别