| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1701 人关注过本帖
标题:求助指针*q为什么能打印
只看楼主 加入收藏
xhxh
Rank: 2
等 级:论坛游民
威 望:2
帖 子:17
专家分:31
注 册:2019-2-20
结帖率:100%
收藏
 问题点数:0 回复次数:8 
求助指针*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
wp2319570
Rank: 2
等 级:论坛游民
帖 子:30
专家分:66
注 册:2019-3-4
收藏
得分:0 
咋能是野指针呢
2019-03-11 08:07
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:0 
char *p = "abcd";
 printf("%s\n",*p);    //野指针

等价于 printf( "%s\n", 'a' );
跟“野指针”没有任何关系,你参数传错了

2019-03-11 08:43
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
#include <stdio.h>

int main()
{
   char *p="printf(\"hello\\n\")";
   printf("%s\n",p);
   printf("%c\n",*(p+5));
   printf("%s\n",p+5);
   return 0;
}

DO IT YOURSELF !
2019-03-11 14:36
堕落之地
Rank: 1
等 级:新手上路
帖 子:57
专家分:5
注 册:2019-3-11
收藏
得分:0 
回复 楼主 xhxh

    char *p = "abcd";
  
    char *q[] = {"abcd"};
  
    printf("%s\n",*p);    //野指针
    printf("%s\n",*q);    //打印abcd
数组q是一个储存指针的数组 q是地址名,×q是数组第一个变量 指针"abcd",所以打印abcd.
2019-03-11 15:52
word123
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:13
帖 子:333
专家分:1622
注 册:2014-4-5
收藏
得分:0 
char *q[] = {"abcd"};    指针数组,每个元素都是指针的一个数组,可以下标访问,也可以地址访问
2019-03-11 16:37
快速回复:求助指针*q为什么能打印
数据加载中...
 
   



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

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