数组和指针 到 存储类(1)

  C Primer Plus

  ok,11.1.1在程序中定义字符串

三、数组和指针 

  首先看下面的小程序:

 1 #include<stdio.h>
 2 
 3 int main(void)
 4 {    char m4[] = "this is amzing";
 5     char *m3 ="yeah,you are right";
 6     
 7     //printf("%s\n",++m4);
 8     printf("%s\n",m4+1);
 9     printf("%s\n",++m3);
10     
11     return 0;
12 }

  数组名字 m4 是个 常量;而指针 m3 是个变量;

威力加强版代码如下

 1 #include<stdio.h>
 2 
 3 int main(void)
 4 {    char m4[] = "this is amzing";
 5     char *m3 ="yeah,you are right";
 6     
 7     //printf("%s\n",++m4);
 8     printf("%s\n",m4+1);
 9     printf("%s\n",++m3);
10     
11 
12 //1.指针可以这样指针运算符,但是数组名字就不行了哦 
13     while( *m3 != '\0')
14         putchar(*(m3++));
15     putchar('\n');
16     
17 
18 // 2.此指针式变量,数组名字是常量,
19     m3 = m4;                        
20     while(*m3 != '\0')
21         putchar(*(m3++));
22     
23 //3.ok,下面的用法就是错误的
24 //  m4 = m3;  m4,也就是左值是一个常量,相当于 3 =a;明显错误嘛    
25     
26     return 0;
27 }

实现现象如下图:

  需要注意的是区分“” 和‘’ ,也就是单引号双引号

四、数组和指针的区别

posted on 2013-09-12 10:43  イケメンおっさん_汪汪  阅读(213)  评论(0编辑  收藏  举报

导航