一维数组和一维数组和指针
1、数组名就是数组的首地址。
int a[10]; a就是首地址 int*p=a;
二维数组和指针
int a[3][5]
行地址:a+0(&a[0]) a+1(a[1]) a+2(&a[2])
列地址:a[0]+0 a[0]+1 a[0]+2 a[0]+3 a[0]+4
注意:利用指针引用二维数组关键记住:*(a+i) a[i]等价一维数组和指针
1、数组名就是数组的首地址。
int a[10]; a就是首地址 int*p=a;
1、字符串与指针
字符串指针指向一块内存,存放字符串。
1、怎样去访问字符串?
a、用字符数组去一个一个去访问。
b、用指针去访问(可以省略掉数组的定义)
2、字符串指针的定义和赋值。
char *p = "Hello";
char *p;
p = "Hello";
1 //==========================字符串指针的简单运用 2 #include <stdio.h> 3 4 int main() 5 { 6 char a[6] = "Hello"; //1 7 char *p = a; 8 9 //char *p = "Hello"; //2 10 11 //char *p; //3 12 13 //p = "Hello"; 14 15 16 printf("%s\n", p); // %s 挨着打印地址里面的字符 遇到'\0' 17 printf("%s\n", a); 18 printf("%c\n", *p); //'\0' %c 19 printf("%d\n", *p); 20 21 return 0; 22 }
程序 标识符 关键字 运算符 每一个符号出现的时候 这个符号是什么。
//%d %c %e 打印的都是一个变量里面的内容 char 1 int 4 float 4
//%s 打印连续内存里面的内容 遇到'\0'结束
1 //连接两个字符串 2 #include <stdio.h> 3 4 int main() 5 { 6 //字符数组的一个特点 定义数组的时候,内存开辟的大小是确定的。 7 char a[100] = "Hello"; 8 char b[100] = "World"; 9 10 char *p1 = a, *p2 = b; 11 12 printf("移动前:%d\n", p1); 13 14 for (; *p1 != '\0'; p1++); 15 16 printf("移动后:%d\n", p1); 17 18 19 for (; *p2 != '\0'; p1++, p2++) 20 21 *p1 = *p2; 22 23 24 printf("%s\n", a); 25 return 0; 26 }
2、字符串数组
//字符数组
char a[6] = "Hello";
//字符串数组
char name[6][15] =
{
"Faker",
"Gragon",
"Liangren",
"Banhave",
"Jack",
"Hualuo"
};
//字符串指针数组 里面的每一个元素都是指针
char *pName[] =
{
"Faker", //6
"Gragon", //
"Liangren",//9
"Banhave",
"Jack", //5
"Hualuo"
};
1 //字符串指针数组的输入输出 2 #include <stdio.h> 3 4 int main() 5 { 6 ////字符数组 7 //char a[6] = "Hello"; 8 9 ////字符串数组 10 //char name[6][15] = 11 //{ 12 // "Faker", //6 13 // "Gragon", // 14 // "Liangren",//9 15 // "Banhave", 16 // "Jack", //5 17 // "Hualuo" 18 //}; 19 20 21 //printf("%d\n", &name[0]); // 15 22 //printf("%d\n", &name[1]); //15 23 24 25 //字符串指针数组 里面的每一个元素都是指针 26 char *pName[] = 27 { 28 "Faker", //6 29 "Gragon", // 30 "Liangren",//9 31 "Banhave", 32 "Jack", //5 33 "Hualuo" 34 }; 35 36 37 printf("%d\n", pName); //地址 38 printf("%d\n", pName+1); //p1+1 39 40 for (int i = 0; i < 6; i++) 41 { 42 printf("%s\n", *(pName + i)); 43 } 44 45 return 0; 46 }
指针数组 所有元素都是指针
数组指针 一个指针 指向一个数组 元素不一定 int char float
函数和指针: 指针跟函数 二级指针与函数 数组和函数 二维数组和函数