1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main1(void)
 5 {
 6 
 7     //str是常量;
 8     //char str[100] = "calc";
 9     //char str[100] = { "calc" };
10 
11     //p是变量;
12     //新方法开辟的数组,后面的花括号不可以被省略的;
13     char* p = (char[]) { "calc" };
14     system(p);
15 
16     //str和p都代表的栈上的数组;
17 
18     system("pause");
19     return 0;
20 }
21 
22 
23 int main(void)
24 {
25     //普通的数组
26     //二维数组,每一个元素是一个一维数组,存储了字符串,字符串是可以修改的;
27     //char str[5][20] = { {"calc"},{"notepad"},{"mspaint"},{"tasklist"},{"pause"} };
28     char str[5][20] = { "calc","notepad","mspaint","tasklist","pause" };
29     
30 
31     //指针数组
32     //指针数组存储的每一个元素都是一个指针,存储了代码区字符串的常量地址,字符串是不可以被修改的;
33     char* p[5] = { "calc","notepad","mspaint","tasklist","pause" };
34 
35     
36     for (int i = 0; i < 5; i++)
37     {
38         printf("%s,%s\n", str[i], p[i]);
39     }
40 
41 
42     //*p[0] = 3; 代码区不能进行赋值;
43     *(str+1)[0] = 'x';
44     for (int i = 0; i < 5; i++)
45     {
46         printf("%s,%s\n", str[i], p[i]);
47     }
48     system("pause");
49     return 0;
50 }
51 
52 
53 //检索的话:1.开辟一个二维数组,或者开辟一个指针数组
54 //增删查改的话:用的二维数组,指向代码区的指针数组是不可以进行更改的,指向堆区的话,是可以的

 

posted on 2019-04-27 12:59  寒舟独饮  阅读(553)  评论(0)    收藏  举报