标题:求助指针*q为什么能打印
取消只看楼主
xhxh
Rank: 2
等 级:论坛游民
威 望:2
帖 子:17
专家分:31
注 册:2019-2-20
结帖率:100%
 问题点数:0 回复次数:3 
求助指针*q为什么能打印
程序代码:
    char *p = "abcd";
    
    char *q[] = {"abcd"};
    
    printf("%s\n",*p);    //野指针

    printf("%s\n",*q);    //打印abcd


    *q为什么能打印呀 不太能理解

      
搜索更多相关主题的帖子: 指针 打印 char printf 野指针 
2019-03-11 06:03
xhxh
Rank: 2
等 级:论坛游民
威 望:2
帖 子:17
专家分:31
注 册:2019-2-20
得分:0 


[此贴子已经被作者于2019-3-11 06:54编辑过]

2019-03-11 06:12
xhxh
Rank: 2
等 级:论坛游民
威 望:2
帖 子:17
专家分:31
注 册:2019-2-20
得分:0 


[此贴子已经被作者于2019-3-11 06:55编辑过]

2019-03-11 06:22
xhxh
Rank: 2
等 级:论坛游民
威 望:2
帖 子:17
专家分:31
注 册:2019-2-20
得分:0 
程序代码:
    int n = 10;
        
    int * z = &n;
        //z指针变量保存了n的地址
    
    char *p = "abcd";
    //printf("%c\n",*p,);
        //将文字常量区"abcd"的首元素赋值地址赋值给指针变量p  通过*p只能打印出a   打印整个字符串用p
    char *q[] = { "abcd","bbcde" };

    printf("%c\n",**q);
        //q保存a的元素地址 //通过一级指针*q打印abcd 通过二级指针**q打印a

    printf("%s\n",*(q+1));
        //通过a的地址+1 打印bbcde
2019-03-11 06:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-493510-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.301635 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved