Chinaunix首页 | 论坛 | 博客
  • 博客访问: 857133
  • 博文数量: 286
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1841
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-09 16:26
文章分类

全部博文(286)

文章存档

2016年(38)

2015年(248)

我的朋友

分类: LINUX

2015-08-08 15:31:38


点击(此处)折叠或打开

  1. /*************************************************************************
  2.     > File Name: point_string.c
  3.     > Author: sheepbao
  4.     > Mail: sheepbao@listome.com
  5.     > Created Time: 2015年08月07日 星期五 13时10分54秒
  6.  ************************************************************************/

  7. #include<stdio.h>
  8. #include<string.h>

  9. int main()
  10. {
  11.     char str1[20]="sheepbao";
  12.     char *str2="sheepbao";
  13.     char *str3="sheepbao";
  14.     char *str4="heepbao";
  15.     int i=0;

  16.     printf("&str1= %p\n",str1);
  17.     printf("&str2= %p\n",str2);
  18.     printf("&str3= %p\n",str3);
  19.     printf("&str4= %p\n",str4);
  20.     printf("&i= %p\n",&i);
  21.     char *p;
  22.     p=strchr(str1,'e');

  23.     char *pp;
  24.     pp=str1;
  25.     char *ps;
  26.     while(*(pp)!='\0')
  27.     {
  28.         ps=strchr(pp,'e');
  29.         if(ps==0)
  30.             break;    
  31.         else
  32.             pp=ps;
  33.             pp++;
  34.             i++;
  35.         printf("%c\n",*ps);
  36.     }
  37.     
  38.     printf("i= %d\n",i);
  39. }


输出的结果
&str1= 0x7ffff27fe400
&str2= 0x4007e4
&str3= 0x4007e4
&str4= 0x4007ed
&i= 0x7ffff27fe3cc
e
e
i= 2
--------------------------------------------------------------------------------------------

char str1[256] 和 shar *str2 的字符串是一样的,但是其地址是差别很大的,这是因为:str1[256]是在本地开启空间来存储“sheepbao” 而*str2 只是用指针指向了这些字符串

阅读(1014) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~