数组和指针 到 存储类(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
",++m4);
 8     printf("%s
",m4+1);
 9     printf("%s
",++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
",++m4);
 8     printf("%s
",m4+1);
 9     printf("%s
",++m3);
10     
11 
12 //1.指针可以这样指针运算符,但是数组名字就不行了哦 
13     while( *m3 != '')
14         putchar(*(m3++));
15     putchar('
');
16     
17 
18 // 2.此指针式变量,数组名字是常量,
19     m3 = m4;                        
20     while(*m3 != '')
21         putchar(*(m3++));
22     
23 //3.ok,下面的用法就是错误的
24 //  m4 = m3;  m4,也就是左值是一个常量,相当于 3 =a;明显错误嘛    
25     
26     return 0;
27 }

实现现象如下图:

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

四、数组和指针的区别

原文地址:https://www.cnblogs.com/kalo1111/p/3316345.html