Error[8]: Undefined offset: 13, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

目录

一、数组和字符串知识总结

二、数组

2.1 一维数组

2.1.1 一维数组的定义和使用

2.1.2 一维数组初始化

2.1.3  一维数组命名

2.2 二维数组

2.2.1 二维数组的定义和使用

2.2.2 二维数组初始化

2.2.3 二维数组命名

2.3 多维数组

三、字符数组

3.1 字符串和字符数组关系

3.2 字符数组初始化

3.3 字符数组输入

四、写在最后


一、数组和字符串知识总结

二、数组

2.1 一维数组 2.1.1 一维数组的定义和使用

1. 数组的定义,和变量定义的区别多了一个[],[]内部放常量

int a[10];

2. 定义数组时,[]内部尽量用常量

int n = 10;
int b[n]; //vs编译错误

3. 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其它数组名同名

int a[5]; //err
int a; //err

4. 使用数组时,[]可以是常量,变量,表达式

//定义一个数组,数组名字叫a,有10个元素,每个元素为int
//通过下标 *** 作元素,从0开始,0 ~ 9
  int a[10];
  a[0] = 1;
2.1.2 一维数组初始化
//定义同时赋值叫初始化,只能在定义时才能通过{}初始化
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	
//前3个元素初始化,后面的自动填0
int a1[10] = {1, 2, 3};
	
//把每个元素都设置为0
int a2[10] = {0};
//int a3[10] = 0; //err
	
//根据初始化元素个数来确定数组大小
int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//如果[]不写大小,必须初始化,否则编译不过
//int a4[];
	
	
//如果一个局部数组,没有初始化,元素的值为随机数
int b[10];
//没有b[10]这个元素,一个元素也不能赋10个值
//b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //err
//b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};	//err
2.1.3  一维数组命名
int a[] = {1, 2, 3, 4, 6, 7, 8, 9, 10, -1, 20, 18, 22};
//1、数组名是常量,不允许修改的
a = 10; //err
	
//2、数组名是第0个元素(首元素)地址(重要)
printf("%p, %p\n", a, &a[0]);
	
//数组大小 sizeof(数组名)
//10个元素,每一个元素为int, 总大小:10 * 4 = 40
printf(" sizeof(a) = %lu\n", sizeof(a));
	
//a[0], 第0个元素,第0个元素为int
printf(" sizeof(a[0]) = %lu\n", sizeof(a[0]));
2.2 二维数组 2.2.1 二维数组的定义和使用
//1、定义一个一维数组,这个数组有3元素(3行),第一个[]数字代表元素个数
//2、每一个元素都是int [4],每个元素都是一维数组
//3、a[0], a[1], a[2]分别代表第0个元素,第1个元素,第2个元素,它是每一个元素数组名
//4、 *** 作二维数组的元素(用户角度),理解为多少行多少列
int a[3][4];
	
for(i = 0; i < 3; i++) //行
{
	for(j = 0; j < 4; j++) //列
	{
		a[i][j] = j;
		printf("%d, ", a[i][j]);
	}
	printf("\n");
}
2.2.2 二维数组初始化
//用户看方便,写不方便
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//用一维数组方式初始化
int a1[3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
//多维数组,如果定义同时初始化,第一个[]的数字可以不写
int a3[][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
//int a4[][4]; //err,第一个[]不写,必须初始化
	
int a4[3][4] = {0};
2.2.3 二维数组命名
int a[4][5];
	
//数组名为首元素地址,a[0]
printf("%p, %p\n", a, a[0]);
	
//1、测二维数组长度 sizeof(a), 4个元素,每一个int[5] = 4 * 4 * 5 = 80
printf("sizeof(a) = %lu\n", sizeof(a));
	
//2、测第0个元素的大小,它是一维数组,int [5] = 4 * 5 = 20
printf("sizeof(a[0]) = %lu\n", sizeof(a[0]));
	
//3、第0行第0列元素大小,就是一个int类型,4
printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0]));
	
//4、求行的数目,第一个[]数目,元素个数
int n = sizeof(a)/sizeof(a[0]);
printf("n1 = %d\n", n);
	
//5、求列的数目,第二个[]数目
n = sizeof(a[0])/sizeof(a[0][0]);
printf("n2 = %d\n", n);
	
//6、求行*列的总数
n = sizeof(a)/sizeof(a[0][0]);
printf("n3 = %d\n", n);
2.3 多维数组
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//三维数组就是有n个二维数组
//所谓的n维数组就是有n个n-1维数组
int a[2][3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
for(i = 0; i < 2; i++)
{
	for(j = 0; j < 3; j++)
	{
		for(k = 0; k < 4; k++)
		{
			//a[i][j][k]
		}
	}
}
三、字符数组 3.1 字符串和字符数组关系
//1、字符串是以数字0或者字符'char buf1[] = {'c', ' ', 'p', 'r', 'o', 'g' };
//%s代表以字符串的方式打印
//首地址,找字符串的结束符,遇到数字0或字符'char str[100];
scanf("%s", str);//遇到空格截断'结束打印
printf("buf1 = %s\n", buf1); //有可能乱码
	
char buf2[] = {'a', 'b', 'c', '[+++]'};
printf("buf2 = %s\n", buf2); //只打abc
	
char buf3[] = {'a', '[+++]', 'b', 'c', '[+++]'};
printf("buf3 = %s\n", buf3); //只打"a"
	
//1、使用字符串给字符数组初始化,这种方式只能在定义时使用
//2、它有6个字节这么大,隐藏了一个结束符
char buf4[] = "hello";
	
//char buf5[100];
//buf5 = "hello"; //数组名是常量,不允许修改
	
char buf6[100] = "hello";
	
char str[] = "[+++]abc";
printf("str == %s\n", str); //没有打印内容
	
char str1[] = "2abc"; //'2'是八进制转义字符
printf("str1 == '%s'\n", str1);'结尾
//2、如果字符数组,以数字0或者字符'[+++]'结尾,那么这个字符数组就是字符串
char ch = 0;
printf("ch1 = %d\n", ch);
	
ch = '[+++]'; //十进制转义字符
printf("ch2 = %d\n", ch);
	
ch = '0'; //字符0,它是普通字符,不是字符串结束字符, ascii码为48
printf("ch3 = %d\n", ch);
3.2 字符数组初始化
[+++]
3.3 字符数组输入
[+++]
四、写在最后 

对于热爱编程的同学来说,大部分人刚开始只是知其然却不知其所以然,这是一个普遍现象。主要原因是随着工作时间增加,虽然大部分人都是每天上班下班忙忙碌碌,但仅有少数人才真的下功夫去研究自己做的编程工作,更不愿意去学习、思考。知识只有建立起关联并形成体系的时候,才能真正提升你的能力,帮助你用来分析和解决问题。请关注:C语言知识体系视频课程。如何搭建一套自己的知识体系,将沉淀的知识变现,也可以关注:知识变现系统搭建。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 14, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

目录

一、数组和字符串知识总结

二、数组

2.1 一维数组

2.1.1 一维数组的定义和使用

2.1.2 一维数组初始化

2.1.3  一维数组命名

2.2 二维数组

2.2.1 二维数组的定义和使用

2.2.2 二维数组初始化

2.2.3 二维数组命名

2.3 多维数组

三、字符数组

3.1 字符串和字符数组关系

3.2 字符数组初始化

3.3 字符数组输入

四、写在最后


一、数组和字符串知识总结

二、数组

2.1 一维数组 2.1.1 一维数组的定义和使用

1. 数组的定义,和变量定义的区别多了一个[],[]内部放常量

int a[10];

2. 定义数组时,[]内部尽量用常量

int n = 10;
int b[n]; //vs编译错误

3. 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其它数组名同名

int a[5]; //err
int a; //err

4. 使用数组时,[]可以是常量,变量,表达式

//定义一个数组,数组名字叫a,有10个元素,每个元素为int
//通过下标 *** 作元素,从0开始,0 ~ 9
  int a[10];
  a[0] = 1;
2.1.2 一维数组初始化
//定义同时赋值叫初始化,只能在定义时才能通过{}初始化
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	
//前3个元素初始化,后面的自动填0
int a1[10] = {1, 2, 3};
	
//把每个元素都设置为0
int a2[10] = {0};
//int a3[10] = 0; //err
	
//根据初始化元素个数来确定数组大小
int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//如果[]不写大小,必须初始化,否则编译不过
//int a4[];
	
	
//如果一个局部数组,没有初始化,元素的值为随机数
int b[10];
//没有b[10]这个元素,一个元素也不能赋10个值
//b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //err
//b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};	//err
2.1.3  一维数组命名
int a[] = {1, 2, 3, 4, 6, 7, 8, 9, 10, -1, 20, 18, 22};
//1、数组名是常量,不允许修改的
a = 10; //err
	
//2、数组名是第0个元素(首元素)地址(重要)
printf("%p, %p\n", a, &a[0]);
	
//数组大小 sizeof(数组名)
//10个元素,每一个元素为int, 总大小:10 * 4 = 40
printf(" sizeof(a) = %lu\n", sizeof(a));
	
//a[0], 第0个元素,第0个元素为int
printf(" sizeof(a[0]) = %lu\n", sizeof(a[0]));
2.2 二维数组 2.2.1 二维数组的定义和使用
//1、定义一个一维数组,这个数组有3元素(3行),第一个[]数字代表元素个数
//2、每一个元素都是int [4],每个元素都是一维数组
//3、a[0], a[1], a[2]分别代表第0个元素,第1个元素,第2个元素,它是每一个元素数组名
//4、 *** 作二维数组的元素(用户角度),理解为多少行多少列
int a[3][4];
	
for(i = 0; i < 3; i++) //行
{
	for(j = 0; j < 4; j++) //列
	{
		a[i][j] = j;
		printf("%d, ", a[i][j]);
	}
	printf("\n");
}
2.2.2 二维数组初始化
//用户看方便,写不方便
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//用一维数组方式初始化
int a1[3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
//多维数组,如果定义同时初始化,第一个[]的数字可以不写
int a3[][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
//int a4[][4]; //err,第一个[]不写,必须初始化
	
int a4[3][4] = {0};
2.2.3 二维数组命名
int a[4][5];
	
//数组名为首元素地址,a[0]
printf("%p, %p\n", a, a[0]);
	
//1、测二维数组长度 sizeof(a), 4个元素,每一个int[5] = 4 * 4 * 5 = 80
printf("sizeof(a) = %lu\n", sizeof(a));
	
//2、测第0个元素的大小,它是一维数组,int [5] = 4 * 5 = 20
printf("sizeof(a[0]) = %lu\n", sizeof(a[0]));
	
//3、第0行第0列元素大小,就是一个int类型,4
printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0]));
	
//4、求行的数目,第一个[]数目,元素个数
int n = sizeof(a)/sizeof(a[0]);
printf("n1 = %d\n", n);
	
//5、求列的数目,第二个[]数目
n = sizeof(a[0])/sizeof(a[0][0]);
printf("n2 = %d\n", n);
	
//6、求行*列的总数
n = sizeof(a)/sizeof(a[0][0]);
printf("n3 = %d\n", n);
2.3 多维数组
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//三维数组就是有n个二维数组
//所谓的n维数组就是有n个n-1维数组
int a[2][3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
for(i = 0; i < 2; i++)
{
	for(j = 0; j < 3; j++)
	{
		for(k = 0; k < 4; k++)
		{
			//a[i][j][k]
		}
	}
}
三、字符数组 3.1 字符串和字符数组关系
//1、字符串是以数字0或者字符'char buf1[] = {'c', ' ', 'p', 'r', 'o', 'g' };
//%s代表以字符串的方式打印
//首地址,找字符串的结束符,遇到数字0或字符'char str[100];
scanf("%s", str);//遇到空格截断'结束打印
printf("buf1 = %s\n", buf1); //有可能乱码
	
char buf2[] = {'a', 'b', 'c', ''};
printf("buf2 = %s\n", buf2); //只打abc
	
char buf3[] = {'a', '[+++]', 'b', 'c', '[+++]'};
printf("buf3 = %s\n", buf3); //只打"a"
	
//1、使用字符串给字符数组初始化,这种方式只能在定义时使用
//2、它有6个字节这么大,隐藏了一个结束符
char buf4[] = "hello";
	
//char buf5[100];
//buf5 = "hello"; //数组名是常量,不允许修改
	
char buf6[100] = "hello";
	
char str[] = "[+++]abc";
printf("str == %s\n", str); //没有打印内容
	
char str1[] = "2abc"; //'2'是八进制转义字符
printf("str1 == '%s'\n", str1);'结尾
//2、如果字符数组,以数字0或者字符'[+++]'结尾,那么这个字符数组就是字符串
char ch = 0;
printf("ch1 = %d\n", ch);
	
ch = '[+++]'; //十进制转义字符
printf("ch2 = %d\n", ch);
	
ch = '0'; //字符0,它是普通字符,不是字符串结束字符, ascii码为48
printf("ch3 = %d\n", ch);
3.2 字符数组初始化
[+++]
3.3 字符数组输入
[+++]
四、写在最后 

对于热爱编程的同学来说,大部分人刚开始只是知其然却不知其所以然,这是一个普遍现象。主要原因是随着工作时间增加,虽然大部分人都是每天上班下班忙忙碌碌,但仅有少数人才真的下功夫去研究自己做的编程工作,更不愿意去学习、思考。知识只有建立起关联并形成体系的时候,才能真正提升你的能力,帮助你用来分析和解决问题。请关注:C语言知识体系视频课程。如何搭建一套自己的知识体系,将沉淀的知识变现,也可以关注:知识变现系统搭建。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 15, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

目录

一、数组和字符串知识总结

二、数组

2.1 一维数组

2.1.1 一维数组的定义和使用

2.1.2 一维数组初始化

2.1.3  一维数组命名

2.2 二维数组

2.2.1 二维数组的定义和使用

2.2.2 二维数组初始化

2.2.3 二维数组命名

2.3 多维数组

三、字符数组

3.1 字符串和字符数组关系

3.2 字符数组初始化

3.3 字符数组输入

四、写在最后


一、数组和字符串知识总结

二、数组

2.1 一维数组 2.1.1 一维数组的定义和使用

1. 数组的定义,和变量定义的区别多了一个[],[]内部放常量

int a[10];

2. 定义数组时,[]内部尽量用常量

int n = 10;
int b[n]; //vs编译错误

3. 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其它数组名同名

int a[5]; //err
int a; //err

4. 使用数组时,[]可以是常量,变量,表达式

//定义一个数组,数组名字叫a,有10个元素,每个元素为int
//通过下标 *** 作元素,从0开始,0 ~ 9
  int a[10];
  a[0] = 1;
2.1.2 一维数组初始化
//定义同时赋值叫初始化,只能在定义时才能通过{}初始化
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	
//前3个元素初始化,后面的自动填0
int a1[10] = {1, 2, 3};
	
//把每个元素都设置为0
int a2[10] = {0};
//int a3[10] = 0; //err
	
//根据初始化元素个数来确定数组大小
int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//如果[]不写大小,必须初始化,否则编译不过
//int a4[];
	
	
//如果一个局部数组,没有初始化,元素的值为随机数
int b[10];
//没有b[10]这个元素,一个元素也不能赋10个值
//b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //err
//b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};	//err
2.1.3  一维数组命名
int a[] = {1, 2, 3, 4, 6, 7, 8, 9, 10, -1, 20, 18, 22};
//1、数组名是常量,不允许修改的
a = 10; //err
	
//2、数组名是第0个元素(首元素)地址(重要)
printf("%p, %p\n", a, &a[0]);
	
//数组大小 sizeof(数组名)
//10个元素,每一个元素为int, 总大小:10 * 4 = 40
printf(" sizeof(a) = %lu\n", sizeof(a));
	
//a[0], 第0个元素,第0个元素为int
printf(" sizeof(a[0]) = %lu\n", sizeof(a[0]));
2.2 二维数组 2.2.1 二维数组的定义和使用
//1、定义一个一维数组,这个数组有3元素(3行),第一个[]数字代表元素个数
//2、每一个元素都是int [4],每个元素都是一维数组
//3、a[0], a[1], a[2]分别代表第0个元素,第1个元素,第2个元素,它是每一个元素数组名
//4、 *** 作二维数组的元素(用户角度),理解为多少行多少列
int a[3][4];
	
for(i = 0; i < 3; i++) //行
{
	for(j = 0; j < 4; j++) //列
	{
		a[i][j] = j;
		printf("%d, ", a[i][j]);
	}
	printf("\n");
}
2.2.2 二维数组初始化
//用户看方便,写不方便
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//用一维数组方式初始化
int a1[3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
//多维数组,如果定义同时初始化,第一个[]的数字可以不写
int a3[][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
//int a4[][4]; //err,第一个[]不写,必须初始化
	
int a4[3][4] = {0};
2.2.3 二维数组命名
int a[4][5];
	
//数组名为首元素地址,a[0]
printf("%p, %p\n", a, a[0]);
	
//1、测二维数组长度 sizeof(a), 4个元素,每一个int[5] = 4 * 4 * 5 = 80
printf("sizeof(a) = %lu\n", sizeof(a));
	
//2、测第0个元素的大小,它是一维数组,int [5] = 4 * 5 = 20
printf("sizeof(a[0]) = %lu\n", sizeof(a[0]));
	
//3、第0行第0列元素大小,就是一个int类型,4
printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0]));
	
//4、求行的数目,第一个[]数目,元素个数
int n = sizeof(a)/sizeof(a[0]);
printf("n1 = %d\n", n);
	
//5、求列的数目,第二个[]数目
n = sizeof(a[0])/sizeof(a[0][0]);
printf("n2 = %d\n", n);
	
//6、求行*列的总数
n = sizeof(a)/sizeof(a[0][0]);
printf("n3 = %d\n", n);
2.3 多维数组
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//三维数组就是有n个二维数组
//所谓的n维数组就是有n个n-1维数组
int a[2][3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
for(i = 0; i < 2; i++)
{
	for(j = 0; j < 3; j++)
	{
		for(k = 0; k < 4; k++)
		{
			//a[i][j][k]
		}
	}
}
三、字符数组 3.1 字符串和字符数组关系
//1、字符串是以数字0或者字符'char buf1[] = {'c', ' ', 'p', 'r', 'o', 'g' };
//%s代表以字符串的方式打印
//首地址,找字符串的结束符,遇到数字0或字符'char str[100];
scanf("%s", str);//遇到空格截断'结束打印
printf("buf1 = %s\n", buf1); //有可能乱码
	
char buf2[] = {'a', 'b', 'c', ''};
printf("buf2 = %s\n", buf2); //只打abc
	
char buf3[] = {'a', '', 'b', 'c', '[+++]'};
printf("buf3 = %s\n", buf3); //只打"a"
	
//1、使用字符串给字符数组初始化,这种方式只能在定义时使用
//2、它有6个字节这么大,隐藏了一个结束符
char buf4[] = "hello";
	
//char buf5[100];
//buf5 = "hello"; //数组名是常量,不允许修改
	
char buf6[100] = "hello";
	
char str[] = "[+++]abc";
printf("str == %s\n", str); //没有打印内容
	
char str1[] = "2abc"; //'2'是八进制转义字符
printf("str1 == '%s'\n", str1);'结尾
//2、如果字符数组,以数字0或者字符'[+++]'结尾,那么这个字符数组就是字符串
char ch = 0;
printf("ch1 = %d\n", ch);
	
ch = '[+++]'; //十进制转义字符
printf("ch2 = %d\n", ch);
	
ch = '0'; //字符0,它是普通字符,不是字符串结束字符, ascii码为48
printf("ch3 = %d\n", ch);
3.2 字符数组初始化
[+++]
3.3 字符数组输入
[+++]
四、写在最后 

对于热爱编程的同学来说,大部分人刚开始只是知其然却不知其所以然,这是一个普遍现象。主要原因是随着工作时间增加,虽然大部分人都是每天上班下班忙忙碌碌,但仅有少数人才真的下功夫去研究自己做的编程工作,更不愿意去学习、思考。知识只有建立起关联并形成体系的时候,才能真正提升你的能力,帮助你用来分析和解决问题。请关注:C语言知识体系视频课程。如何搭建一套自己的知识体系,将沉淀的知识变现,也可以关注:知识变现系统搭建。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 16, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

目录

一、数组和字符串知识总结

二、数组

2.1 一维数组

2.1.1 一维数组的定义和使用

2.1.2 一维数组初始化

2.1.3  一维数组命名

2.2 二维数组

2.2.1 二维数组的定义和使用

2.2.2 二维数组初始化

2.2.3 二维数组命名

2.3 多维数组

三、字符数组

3.1 字符串和字符数组关系

3.2 字符数组初始化

3.3 字符数组输入

四、写在最后


一、数组和字符串知识总结

二、数组

2.1 一维数组 2.1.1 一维数组的定义和使用

1. 数组的定义,和变量定义的区别多了一个[],[]内部放常量

int a[10];

2. 定义数组时,[]内部尽量用常量

int n = 10;
int b[n]; //vs编译错误

3. 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其它数组名同名

int a[5]; //err
int a; //err

4. 使用数组时,[]可以是常量,变量,表达式

//定义一个数组,数组名字叫a,有10个元素,每个元素为int
//通过下标 *** 作元素,从0开始,0 ~ 9
  int a[10];
  a[0] = 1;
2.1.2 一维数组初始化
//定义同时赋值叫初始化,只能在定义时才能通过{}初始化
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	
//前3个元素初始化,后面的自动填0
int a1[10] = {1, 2, 3};
	
//把每个元素都设置为0
int a2[10] = {0};
//int a3[10] = 0; //err
	
//根据初始化元素个数来确定数组大小
int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//如果[]不写大小,必须初始化,否则编译不过
//int a4[];
	
	
//如果一个局部数组,没有初始化,元素的值为随机数
int b[10];
//没有b[10]这个元素,一个元素也不能赋10个值
//b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //err
//b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};	//err
2.1.3  一维数组命名
int a[] = {1, 2, 3, 4, 6, 7, 8, 9, 10, -1, 20, 18, 22};
//1、数组名是常量,不允许修改的
a = 10; //err
	
//2、数组名是第0个元素(首元素)地址(重要)
printf("%p, %p\n", a, &a[0]);
	
//数组大小 sizeof(数组名)
//10个元素,每一个元素为int, 总大小:10 * 4 = 40
printf(" sizeof(a) = %lu\n", sizeof(a));
	
//a[0], 第0个元素,第0个元素为int
printf(" sizeof(a[0]) = %lu\n", sizeof(a[0]));
2.2 二维数组 2.2.1 二维数组的定义和使用
//1、定义一个一维数组,这个数组有3元素(3行),第一个[]数字代表元素个数
//2、每一个元素都是int [4],每个元素都是一维数组
//3、a[0], a[1], a[2]分别代表第0个元素,第1个元素,第2个元素,它是每一个元素数组名
//4、 *** 作二维数组的元素(用户角度),理解为多少行多少列
int a[3][4];
	
for(i = 0; i < 3; i++) //行
{
	for(j = 0; j < 4; j++) //列
	{
		a[i][j] = j;
		printf("%d, ", a[i][j]);
	}
	printf("\n");
}
2.2.2 二维数组初始化
//用户看方便,写不方便
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//用一维数组方式初始化
int a1[3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
//多维数组,如果定义同时初始化,第一个[]的数字可以不写
int a3[][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
//int a4[][4]; //err,第一个[]不写,必须初始化
	
int a4[3][4] = {0};
2.2.3 二维数组命名
int a[4][5];
	
//数组名为首元素地址,a[0]
printf("%p, %p\n", a, a[0]);
	
//1、测二维数组长度 sizeof(a), 4个元素,每一个int[5] = 4 * 4 * 5 = 80
printf("sizeof(a) = %lu\n", sizeof(a));
	
//2、测第0个元素的大小,它是一维数组,int [5] = 4 * 5 = 20
printf("sizeof(a[0]) = %lu\n", sizeof(a[0]));
	
//3、第0行第0列元素大小,就是一个int类型,4
printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0]));
	
//4、求行的数目,第一个[]数目,元素个数
int n = sizeof(a)/sizeof(a[0]);
printf("n1 = %d\n", n);
	
//5、求列的数目,第二个[]数目
n = sizeof(a[0])/sizeof(a[0][0]);
printf("n2 = %d\n", n);
	
//6、求行*列的总数
n = sizeof(a)/sizeof(a[0][0]);
printf("n3 = %d\n", n);
2.3 多维数组
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//三维数组就是有n个二维数组
//所谓的n维数组就是有n个n-1维数组
int a[2][3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
for(i = 0; i < 2; i++)
{
	for(j = 0; j < 3; j++)
	{
		for(k = 0; k < 4; k++)
		{
			//a[i][j][k]
		}
	}
}
三、字符数组 3.1 字符串和字符数组关系
//1、字符串是以数字0或者字符'char buf1[] = {'c', ' ', 'p', 'r', 'o', 'g' };
//%s代表以字符串的方式打印
//首地址,找字符串的结束符,遇到数字0或字符'char str[100];
scanf("%s", str);//遇到空格截断'结束打印
printf("buf1 = %s\n", buf1); //有可能乱码
	
char buf2[] = {'a', 'b', 'c', ''};
printf("buf2 = %s\n", buf2); //只打abc
	
char buf3[] = {'a', '', 'b', 'c', ''};
printf("buf3 = %s\n", buf3); //只打"a"
	
//1、使用字符串给字符数组初始化,这种方式只能在定义时使用
//2、它有6个字节这么大,隐藏了一个结束符
char buf4[] = "hello";
	
//char buf5[100];
//buf5 = "hello"; //数组名是常量,不允许修改
	
char buf6[100] = "hello";
	
char str[] = "[+++]abc";
printf("str == %s\n", str); //没有打印内容
	
char str1[] = "2abc"; //'2'是八进制转义字符
printf("str1 == '%s'\n", str1);'结尾
//2、如果字符数组,以数字0或者字符'[+++]'结尾,那么这个字符数组就是字符串
char ch = 0;
printf("ch1 = %d\n", ch);
	
ch = '[+++]'; //十进制转义字符
printf("ch2 = %d\n", ch);
	
ch = '0'; //字符0,它是普通字符,不是字符串结束字符, ascii码为48
printf("ch3 = %d\n", ch);
3.2 字符数组初始化
[+++]
3.3 字符数组输入
[+++]
四、写在最后 

对于热爱编程的同学来说,大部分人刚开始只是知其然却不知其所以然,这是一个普遍现象。主要原因是随着工作时间增加,虽然大部分人都是每天上班下班忙忙碌碌,但仅有少数人才真的下功夫去研究自己做的编程工作,更不愿意去学习、思考。知识只有建立起关联并形成体系的时候,才能真正提升你的能力,帮助你用来分析和解决问题。请关注:C语言知识体系视频课程。如何搭建一套自己的知识体系,将沉淀的知识变现,也可以关注:知识变现系统搭建。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 17, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

目录

一、数组和字符串知识总结

二、数组

2.1 一维数组

2.1.1 一维数组的定义和使用

2.1.2 一维数组初始化

2.1.3  一维数组命名

2.2 二维数组

2.2.1 二维数组的定义和使用

2.2.2 二维数组初始化

2.2.3 二维数组命名

2.3 多维数组

三、字符数组

3.1 字符串和字符数组关系

3.2 字符数组初始化

3.3 字符数组输入

四、写在最后


一、数组和字符串知识总结

二、数组

2.1 一维数组 2.1.1 一维数组的定义和使用

1. 数组的定义,和变量定义的区别多了一个[],[]内部放常量

int a[10];

2. 定义数组时,[]内部尽量用常量

int n = 10;
int b[n]; //vs编译错误

3. 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其它数组名同名

int a[5]; //err
int a; //err

4. 使用数组时,[]可以是常量,变量,表达式

//定义一个数组,数组名字叫a,有10个元素,每个元素为int
//通过下标 *** 作元素,从0开始,0 ~ 9
  int a[10];
  a[0] = 1;
2.1.2 一维数组初始化
//定义同时赋值叫初始化,只能在定义时才能通过{}初始化
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	
//前3个元素初始化,后面的自动填0
int a1[10] = {1, 2, 3};
	
//把每个元素都设置为0
int a2[10] = {0};
//int a3[10] = 0; //err
	
//根据初始化元素个数来确定数组大小
int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//如果[]不写大小,必须初始化,否则编译不过
//int a4[];
	
	
//如果一个局部数组,没有初始化,元素的值为随机数
int b[10];
//没有b[10]这个元素,一个元素也不能赋10个值
//b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //err
//b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};	//err
2.1.3  一维数组命名
int a[] = {1, 2, 3, 4, 6, 7, 8, 9, 10, -1, 20, 18, 22};
//1、数组名是常量,不允许修改的
a = 10; //err
	
//2、数组名是第0个元素(首元素)地址(重要)
printf("%p, %p\n", a, &a[0]);
	
//数组大小 sizeof(数组名)
//10个元素,每一个元素为int, 总大小:10 * 4 = 40
printf(" sizeof(a) = %lu\n", sizeof(a));
	
//a[0], 第0个元素,第0个元素为int
printf(" sizeof(a[0]) = %lu\n", sizeof(a[0]));
2.2 二维数组 2.2.1 二维数组的定义和使用
//1、定义一个一维数组,这个数组有3元素(3行),第一个[]数字代表元素个数
//2、每一个元素都是int [4],每个元素都是一维数组
//3、a[0], a[1], a[2]分别代表第0个元素,第1个元素,第2个元素,它是每一个元素数组名
//4、 *** 作二维数组的元素(用户角度),理解为多少行多少列
int a[3][4];
	
for(i = 0; i < 3; i++) //行
{
	for(j = 0; j < 4; j++) //列
	{
		a[i][j] = j;
		printf("%d, ", a[i][j]);
	}
	printf("\n");
}
2.2.2 二维数组初始化
//用户看方便,写不方便
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//用一维数组方式初始化
int a1[3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
//多维数组,如果定义同时初始化,第一个[]的数字可以不写
int a3[][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
//int a4[][4]; //err,第一个[]不写,必须初始化
	
int a4[3][4] = {0};
2.2.3 二维数组命名
int a[4][5];
	
//数组名为首元素地址,a[0]
printf("%p, %p\n", a, a[0]);
	
//1、测二维数组长度 sizeof(a), 4个元素,每一个int[5] = 4 * 4 * 5 = 80
printf("sizeof(a) = %lu\n", sizeof(a));
	
//2、测第0个元素的大小,它是一维数组,int [5] = 4 * 5 = 20
printf("sizeof(a[0]) = %lu\n", sizeof(a[0]));
	
//3、第0行第0列元素大小,就是一个int类型,4
printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0]));
	
//4、求行的数目,第一个[]数目,元素个数
int n = sizeof(a)/sizeof(a[0]);
printf("n1 = %d\n", n);
	
//5、求列的数目,第二个[]数目
n = sizeof(a[0])/sizeof(a[0][0]);
printf("n2 = %d\n", n);
	
//6、求行*列的总数
n = sizeof(a)/sizeof(a[0][0]);
printf("n3 = %d\n", n);
2.3 多维数组
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//三维数组就是有n个二维数组
//所谓的n维数组就是有n个n-1维数组
int a[2][3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
for(i = 0; i < 2; i++)
{
	for(j = 0; j < 3; j++)
	{
		for(k = 0; k < 4; k++)
		{
			//a[i][j][k]
		}
	}
}
三、字符数组 3.1 字符串和字符数组关系
//1、字符串是以数字0或者字符'char buf1[] = {'c', ' ', 'p', 'r', 'o', 'g' };
//%s代表以字符串的方式打印
//首地址,找字符串的结束符,遇到数字0或字符'char str[100];
scanf("%s", str);//遇到空格截断'结束打印
printf("buf1 = %s\n", buf1); //有可能乱码
	
char buf2[] = {'a', 'b', 'c', ''};
printf("buf2 = %s\n", buf2); //只打abc
	
char buf3[] = {'a', '', 'b', 'c', ''};
printf("buf3 = %s\n", buf3); //只打"a"
	
//1、使用字符串给字符数组初始化,这种方式只能在定义时使用
//2、它有6个字节这么大,隐藏了一个结束符
char buf4[] = "hello";
	
//char buf5[100];
//buf5 = "hello"; //数组名是常量,不允许修改
	
char buf6[100] = "hello";
	
char str[] = "abc";
printf("str == %s\n", str); //没有打印内容
	
char str1[] = "2abc"; //'2'是八进制转义字符
printf("str1 == '%s'\n", str1);'结尾
//2、如果字符数组,以数字0或者字符'[+++]'结尾,那么这个字符数组就是字符串
char ch = 0;
printf("ch1 = %d\n", ch);
	
ch = '[+++]'; //十进制转义字符
printf("ch2 = %d\n", ch);
	
ch = '0'; //字符0,它是普通字符,不是字符串结束字符, ascii码为48
printf("ch3 = %d\n", ch);
3.2 字符数组初始化
[+++]
3.3 字符数组输入
[+++]
四、写在最后 

对于热爱编程的同学来说,大部分人刚开始只是知其然却不知其所以然,这是一个普遍现象。主要原因是随着工作时间增加,虽然大部分人都是每天上班下班忙忙碌碌,但仅有少数人才真的下功夫去研究自己做的编程工作,更不愿意去学习、思考。知识只有建立起关联并形成体系的时候,才能真正提升你的能力,帮助你用来分析和解决问题。请关注:C语言知识体系视频课程。如何搭建一套自己的知识体系,将沉淀的知识变现,也可以关注:知识变现系统搭建。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 18, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

目录

一、数组和字符串知识总结

二、数组

2.1 一维数组

2.1.1 一维数组的定义和使用

2.1.2 一维数组初始化

2.1.3  一维数组命名

2.2 二维数组

2.2.1 二维数组的定义和使用

2.2.2 二维数组初始化

2.2.3 二维数组命名

2.3 多维数组

三、字符数组

3.1 字符串和字符数组关系

3.2 字符数组初始化

3.3 字符数组输入

四、写在最后


一、数组和字符串知识总结

二、数组

2.1 一维数组 2.1.1 一维数组的定义和使用

1. 数组的定义,和变量定义的区别多了一个[],[]内部放常量

int a[10];

2. 定义数组时,[]内部尽量用常量

int n = 10;
int b[n]; //vs编译错误

3. 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其它数组名同名

int a[5]; //err
int a; //err

4. 使用数组时,[]可以是常量,变量,表达式

//定义一个数组,数组名字叫a,有10个元素,每个元素为int
//通过下标 *** 作元素,从0开始,0 ~ 9
  int a[10];
  a[0] = 1;
2.1.2 一维数组初始化
//定义同时赋值叫初始化,只能在定义时才能通过{}初始化
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	
//前3个元素初始化,后面的自动填0
int a1[10] = {1, 2, 3};
	
//把每个元素都设置为0
int a2[10] = {0};
//int a3[10] = 0; //err
	
//根据初始化元素个数来确定数组大小
int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//如果[]不写大小,必须初始化,否则编译不过
//int a4[];
	
	
//如果一个局部数组,没有初始化,元素的值为随机数
int b[10];
//没有b[10]这个元素,一个元素也不能赋10个值
//b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //err
//b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};	//err
2.1.3  一维数组命名
int a[] = {1, 2, 3, 4, 6, 7, 8, 9, 10, -1, 20, 18, 22};
//1、数组名是常量,不允许修改的
a = 10; //err
	
//2、数组名是第0个元素(首元素)地址(重要)
printf("%p, %p\n", a, &a[0]);
	
//数组大小 sizeof(数组名)
//10个元素,每一个元素为int, 总大小:10 * 4 = 40
printf(" sizeof(a) = %lu\n", sizeof(a));
	
//a[0], 第0个元素,第0个元素为int
printf(" sizeof(a[0]) = %lu\n", sizeof(a[0]));
2.2 二维数组 2.2.1 二维数组的定义和使用
//1、定义一个一维数组,这个数组有3元素(3行),第一个[]数字代表元素个数
//2、每一个元素都是int [4],每个元素都是一维数组
//3、a[0], a[1], a[2]分别代表第0个元素,第1个元素,第2个元素,它是每一个元素数组名
//4、 *** 作二维数组的元素(用户角度),理解为多少行多少列
int a[3][4];
	
for(i = 0; i < 3; i++) //行
{
	for(j = 0; j < 4; j++) //列
	{
		a[i][j] = j;
		printf("%d, ", a[i][j]);
	}
	printf("\n");
}
2.2.2 二维数组初始化
//用户看方便,写不方便
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//用一维数组方式初始化
int a1[3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
//多维数组,如果定义同时初始化,第一个[]的数字可以不写
int a3[][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
//int a4[][4]; //err,第一个[]不写,必须初始化
	
int a4[3][4] = {0};
2.2.3 二维数组命名
int a[4][5];
	
//数组名为首元素地址,a[0]
printf("%p, %p\n", a, a[0]);
	
//1、测二维数组长度 sizeof(a), 4个元素,每一个int[5] = 4 * 4 * 5 = 80
printf("sizeof(a) = %lu\n", sizeof(a));
	
//2、测第0个元素的大小,它是一维数组,int [5] = 4 * 5 = 20
printf("sizeof(a[0]) = %lu\n", sizeof(a[0]));
	
//3、第0行第0列元素大小,就是一个int类型,4
printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0]));
	
//4、求行的数目,第一个[]数目,元素个数
int n = sizeof(a)/sizeof(a[0]);
printf("n1 = %d\n", n);
	
//5、求列的数目,第二个[]数目
n = sizeof(a[0])/sizeof(a[0][0]);
printf("n2 = %d\n", n);
	
//6、求行*列的总数
n = sizeof(a)/sizeof(a[0][0]);
printf("n3 = %d\n", n);
2.3 多维数组
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//三维数组就是有n个二维数组
//所谓的n维数组就是有n个n-1维数组
int a[2][3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
for(i = 0; i < 2; i++)
{
	for(j = 0; j < 3; j++)
	{
		for(k = 0; k < 4; k++)
		{
			//a[i][j][k]
		}
	}
}
三、字符数组 3.1 字符串和字符数组关系
//1、字符串是以数字0或者字符'char buf1[] = {'c', ' ', 'p', 'r', 'o', 'g' };
//%s代表以字符串的方式打印
//首地址,找字符串的结束符,遇到数字0或字符'char str[100];
scanf("%s", str);//遇到空格截断'结束打印
printf("buf1 = %s\n", buf1); //有可能乱码
	
char buf2[] = {'a', 'b', 'c', ''};
printf("buf2 = %s\n", buf2); //只打abc
	
char buf3[] = {'a', '', 'b', 'c', ''};
printf("buf3 = %s\n", buf3); //只打"a"
	
//1、使用字符串给字符数组初始化,这种方式只能在定义时使用
//2、它有6个字节这么大,隐藏了一个结束符
char buf4[] = "hello";
	
//char buf5[100];
//buf5 = "hello"; //数组名是常量,不允许修改
	
char buf6[100] = "hello";
	
char str[] = "abc";
printf("str == %s\n", str); //没有打印内容
	
char str1[] = "2abc"; //'2'是八进制转义字符
printf("str1 == '%s'\n", str1);'结尾
//2、如果字符数组,以数字0或者字符''结尾,那么这个字符数组就是字符串
char ch = 0;
printf("ch1 = %d\n", ch);
	
ch = '[+++]'; //十进制转义字符
printf("ch2 = %d\n", ch);
	
ch = '0'; //字符0,它是普通字符,不是字符串结束字符, ascii码为48
printf("ch3 = %d\n", ch);
3.2 字符数组初始化
[+++]
3.3 字符数组输入
[+++]
四、写在最后 

对于热爱编程的同学来说,大部分人刚开始只是知其然却不知其所以然,这是一个普遍现象。主要原因是随着工作时间增加,虽然大部分人都是每天上班下班忙忙碌碌,但仅有少数人才真的下功夫去研究自己做的编程工作,更不愿意去学习、思考。知识只有建立起关联并形成体系的时候,才能真正提升你的能力,帮助你用来分析和解决问题。请关注:C语言知识体系视频课程。如何搭建一套自己的知识体系,将沉淀的知识变现,也可以关注:知识变现系统搭建。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 19, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

目录

一、数组和字符串知识总结

二、数组

2.1 一维数组

2.1.1 一维数组的定义和使用

2.1.2 一维数组初始化

2.1.3  一维数组命名

2.2 二维数组

2.2.1 二维数组的定义和使用

2.2.2 二维数组初始化

2.2.3 二维数组命名

2.3 多维数组

三、字符数组

3.1 字符串和字符数组关系

3.2 字符数组初始化

3.3 字符数组输入

四、写在最后


一、数组和字符串知识总结

二、数组

2.1 一维数组 2.1.1 一维数组的定义和使用

1. 数组的定义,和变量定义的区别多了一个[],[]内部放常量

int a[10];

2. 定义数组时,[]内部尽量用常量

int n = 10;
int b[n]; //vs编译错误

3. 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其它数组名同名

int a[5]; //err
int a; //err

4. 使用数组时,[]可以是常量,变量,表达式

//定义一个数组,数组名字叫a,有10个元素,每个元素为int
//通过下标 *** 作元素,从0开始,0 ~ 9
  int a[10];
  a[0] = 1;
2.1.2 一维数组初始化
//定义同时赋值叫初始化,只能在定义时才能通过{}初始化
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	
//前3个元素初始化,后面的自动填0
int a1[10] = {1, 2, 3};
	
//把每个元素都设置为0
int a2[10] = {0};
//int a3[10] = 0; //err
	
//根据初始化元素个数来确定数组大小
int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//如果[]不写大小,必须初始化,否则编译不过
//int a4[];
	
	
//如果一个局部数组,没有初始化,元素的值为随机数
int b[10];
//没有b[10]这个元素,一个元素也不能赋10个值
//b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //err
//b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};	//err
2.1.3  一维数组命名
int a[] = {1, 2, 3, 4, 6, 7, 8, 9, 10, -1, 20, 18, 22};
//1、数组名是常量,不允许修改的
a = 10; //err
	
//2、数组名是第0个元素(首元素)地址(重要)
printf("%p, %p\n", a, &a[0]);
	
//数组大小 sizeof(数组名)
//10个元素,每一个元素为int, 总大小:10 * 4 = 40
printf(" sizeof(a) = %lu\n", sizeof(a));
	
//a[0], 第0个元素,第0个元素为int
printf(" sizeof(a[0]) = %lu\n", sizeof(a[0]));
2.2 二维数组 2.2.1 二维数组的定义和使用
//1、定义一个一维数组,这个数组有3元素(3行),第一个[]数字代表元素个数
//2、每一个元素都是int [4],每个元素都是一维数组
//3、a[0], a[1], a[2]分别代表第0个元素,第1个元素,第2个元素,它是每一个元素数组名
//4、 *** 作二维数组的元素(用户角度),理解为多少行多少列
int a[3][4];
	
for(i = 0; i < 3; i++) //行
{
	for(j = 0; j < 4; j++) //列
	{
		a[i][j] = j;
		printf("%d, ", a[i][j]);
	}
	printf("\n");
}
2.2.2 二维数组初始化
//用户看方便,写不方便
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//用一维数组方式初始化
int a1[3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
//多维数组,如果定义同时初始化,第一个[]的数字可以不写
int a3[][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
//int a4[][4]; //err,第一个[]不写,必须初始化
	
int a4[3][4] = {0};
2.2.3 二维数组命名
int a[4][5];
	
//数组名为首元素地址,a[0]
printf("%p, %p\n", a, a[0]);
	
//1、测二维数组长度 sizeof(a), 4个元素,每一个int[5] = 4 * 4 * 5 = 80
printf("sizeof(a) = %lu\n", sizeof(a));
	
//2、测第0个元素的大小,它是一维数组,int [5] = 4 * 5 = 20
printf("sizeof(a[0]) = %lu\n", sizeof(a[0]));
	
//3、第0行第0列元素大小,就是一个int类型,4
printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0]));
	
//4、求行的数目,第一个[]数目,元素个数
int n = sizeof(a)/sizeof(a[0]);
printf("n1 = %d\n", n);
	
//5、求列的数目,第二个[]数目
n = sizeof(a[0])/sizeof(a[0][0]);
printf("n2 = %d\n", n);
	
//6、求行*列的总数
n = sizeof(a)/sizeof(a[0][0]);
printf("n3 = %d\n", n);
2.3 多维数组
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//三维数组就是有n个二维数组
//所谓的n维数组就是有n个n-1维数组
int a[2][3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
for(i = 0; i < 2; i++)
{
	for(j = 0; j < 3; j++)
	{
		for(k = 0; k < 4; k++)
		{
			//a[i][j][k]
		}
	}
}
三、字符数组 3.1 字符串和字符数组关系
//1、字符串是以数字0或者字符'char buf1[] = {'c', ' ', 'p', 'r', 'o', 'g' };
//%s代表以字符串的方式打印
//首地址,找字符串的结束符,遇到数字0或字符'char str[100];
scanf("%s", str);//遇到空格截断'结束打印
printf("buf1 = %s\n", buf1); //有可能乱码
	
char buf2[] = {'a', 'b', 'c', ''};
printf("buf2 = %s\n", buf2); //只打abc
	
char buf3[] = {'a', '', 'b', 'c', ''};
printf("buf3 = %s\n", buf3); //只打"a"
	
//1、使用字符串给字符数组初始化,这种方式只能在定义时使用
//2、它有6个字节这么大,隐藏了一个结束符
char buf4[] = "hello";
	
//char buf5[100];
//buf5 = "hello"; //数组名是常量,不允许修改
	
char buf6[100] = "hello";
	
char str[] = "abc";
printf("str == %s\n", str); //没有打印内容
	
char str1[] = "2abc"; //'2'是八进制转义字符
printf("str1 == '%s'\n", str1);'结尾
//2、如果字符数组,以数字0或者字符''结尾,那么这个字符数组就是字符串
char ch = 0;
printf("ch1 = %d\n", ch);
	
ch = ''; //十进制转义字符
printf("ch2 = %d\n", ch);
	
ch = '0'; //字符0,它是普通字符,不是字符串结束字符, ascii码为48
printf("ch3 = %d\n", ch);
3.2 字符数组初始化
[+++]
3.3 字符数组输入
[+++]
四、写在最后 

对于热爱编程的同学来说,大部分人刚开始只是知其然却不知其所以然,这是一个普遍现象。主要原因是随着工作时间增加,虽然大部分人都是每天上班下班忙忙碌碌,但仅有少数人才真的下功夫去研究自己做的编程工作,更不愿意去学习、思考。知识只有建立起关联并形成体系的时候,才能真正提升你的能力,帮助你用来分析和解决问题。请关注:C语言知识体系视频课程。如何搭建一套自己的知识体系,将沉淀的知识变现,也可以关注:知识变现系统搭建。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 20, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

目录

一、数组和字符串知识总结

二、数组

2.1 一维数组

2.1.1 一维数组的定义和使用

2.1.2 一维数组初始化

2.1.3  一维数组命名

2.2 二维数组

2.2.1 二维数组的定义和使用

2.2.2 二维数组初始化

2.2.3 二维数组命名

2.3 多维数组

三、字符数组

3.1 字符串和字符数组关系

3.2 字符数组初始化

3.3 字符数组输入

四、写在最后


一、数组和字符串知识总结

二、数组

2.1 一维数组 2.1.1 一维数组的定义和使用

1. 数组的定义,和变量定义的区别多了一个[],[]内部放常量

int a[10];

2. 定义数组时,[]内部尽量用常量

int n = 10;
int b[n]; //vs编译错误

3. 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其它数组名同名

int a[5]; //err
int a; //err

4. 使用数组时,[]可以是常量,变量,表达式

//定义一个数组,数组名字叫a,有10个元素,每个元素为int
//通过下标 *** 作元素,从0开始,0 ~ 9
  int a[10];
  a[0] = 1;
2.1.2 一维数组初始化
//定义同时赋值叫初始化,只能在定义时才能通过{}初始化
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	
//前3个元素初始化,后面的自动填0
int a1[10] = {1, 2, 3};
	
//把每个元素都设置为0
int a2[10] = {0};
//int a3[10] = 0; //err
	
//根据初始化元素个数来确定数组大小
int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//如果[]不写大小,必须初始化,否则编译不过
//int a4[];
	
	
//如果一个局部数组,没有初始化,元素的值为随机数
int b[10];
//没有b[10]这个元素,一个元素也不能赋10个值
//b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //err
//b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};	//err
2.1.3  一维数组命名
int a[] = {1, 2, 3, 4, 6, 7, 8, 9, 10, -1, 20, 18, 22};
//1、数组名是常量,不允许修改的
a = 10; //err
	
//2、数组名是第0个元素(首元素)地址(重要)
printf("%p, %p\n", a, &a[0]);
	
//数组大小 sizeof(数组名)
//10个元素,每一个元素为int, 总大小:10 * 4 = 40
printf(" sizeof(a) = %lu\n", sizeof(a));
	
//a[0], 第0个元素,第0个元素为int
printf(" sizeof(a[0]) = %lu\n", sizeof(a[0]));
2.2 二维数组 2.2.1 二维数组的定义和使用
//1、定义一个一维数组,这个数组有3元素(3行),第一个[]数字代表元素个数
//2、每一个元素都是int [4],每个元素都是一维数组
//3、a[0], a[1], a[2]分别代表第0个元素,第1个元素,第2个元素,它是每一个元素数组名
//4、 *** 作二维数组的元素(用户角度),理解为多少行多少列
int a[3][4];
	
for(i = 0; i < 3; i++) //行
{
	for(j = 0; j < 4; j++) //列
	{
		a[i][j] = j;
		printf("%d, ", a[i][j]);
	}
	printf("\n");
}
2.2.2 二维数组初始化
//用户看方便,写不方便
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//用一维数组方式初始化
int a1[3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
//多维数组,如果定义同时初始化,第一个[]的数字可以不写
int a3[][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
//int a4[][4]; //err,第一个[]不写,必须初始化
	
int a4[3][4] = {0};
2.2.3 二维数组命名
int a[4][5];
	
//数组名为首元素地址,a[0]
printf("%p, %p\n", a, a[0]);
	
//1、测二维数组长度 sizeof(a), 4个元素,每一个int[5] = 4 * 4 * 5 = 80
printf("sizeof(a) = %lu\n", sizeof(a));
	
//2、测第0个元素的大小,它是一维数组,int [5] = 4 * 5 = 20
printf("sizeof(a[0]) = %lu\n", sizeof(a[0]));
	
//3、第0行第0列元素大小,就是一个int类型,4
printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0]));
	
//4、求行的数目,第一个[]数目,元素个数
int n = sizeof(a)/sizeof(a[0]);
printf("n1 = %d\n", n);
	
//5、求列的数目,第二个[]数目
n = sizeof(a[0])/sizeof(a[0][0]);
printf("n2 = %d\n", n);
	
//6、求行*列的总数
n = sizeof(a)/sizeof(a[0][0]);
printf("n3 = %d\n", n);
2.3 多维数组
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//三维数组就是有n个二维数组
//所谓的n维数组就是有n个n-1维数组
int a[2][3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
for(i = 0; i < 2; i++)
{
	for(j = 0; j < 3; j++)
	{
		for(k = 0; k < 4; k++)
		{
			//a[i][j][k]
		}
	}
}
三、字符数组 3.1 字符串和字符数组关系
//1、字符串是以数字0或者字符'char buf1[] = {'c', ' ', 'p', 'r', 'o', 'g' };
//%s代表以字符串的方式打印
//首地址,找字符串的结束符,遇到数字0或字符'char str[100];
scanf("%s", str);//遇到空格截断'结束打印
printf("buf1 = %s\n", buf1); //有可能乱码
	
char buf2[] = {'a', 'b', 'c', ''};
printf("buf2 = %s\n", buf2); //只打abc
	
char buf3[] = {'a', '', 'b', 'c', ''};
printf("buf3 = %s\n", buf3); //只打"a"
	
//1、使用字符串给字符数组初始化,这种方式只能在定义时使用
//2、它有6个字节这么大,隐藏了一个结束符
char buf4[] = "hello";
	
//char buf5[100];
//buf5 = "hello"; //数组名是常量,不允许修改
	
char buf6[100] = "hello";
	
char str[] = "abc";
printf("str == %s\n", str); //没有打印内容
	
char str1[] = "2abc"; //'2'是八进制转义字符
printf("str1 == '%s'\n", str1);'结尾
//2、如果字符数组,以数字0或者字符''结尾,那么这个字符数组就是字符串
char ch = 0;
printf("ch1 = %d\n", ch);
	
ch = ''; //十进制转义字符
printf("ch2 = %d\n", ch);
	
ch = '0'; //字符0,它是普通字符,不是字符串结束字符, ascii码为48
printf("ch3 = %d\n", ch);
3.2 字符数组初始化
 
3.3 字符数组输入 
[+++]
四、写在最后 

对于热爱编程的同学来说,大部分人刚开始只是知其然却不知其所以然,这是一个普遍现象。主要原因是随着工作时间增加,虽然大部分人都是每天上班下班忙忙碌碌,但仅有少数人才真的下功夫去研究自己做的编程工作,更不愿意去学习、思考。知识只有建立起关联并形成体系的时候,才能真正提升你的能力,帮助你用来分析和解决问题。请关注:C语言知识体系视频课程。如何搭建一套自己的知识体系,将沉淀的知识变现,也可以关注:知识变现系统搭建。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
C语言中的数组和字符串数组,系统梳理后其实没有那么难-系列五_C_内存溢出

C语言中的数组和字符串数组,系统梳理后其实没有那么难-系列五

C语言中的数组和字符串数组,系统梳理后其实没有那么难-系列五,第1张

目录

一、数组和字符串知识总结

二、数组

2.1 一维数组

2.1.1 一维数组的定义和使用

2.1.2 一维数组初始化

2.1.3  一维数组命名

2.2 二维数组

2.2.1 二维数组的定义和使用

2.2.2 二维数组初始化

2.2.3 二维数组命名

2.3 多维数组

三、字符数组

3.1 字符串和字符数组关系

3.2 字符数组初始化

3.3 字符数组输入

四、写在最后


一、数组和字符串知识总结

二、数组

2.1 一维数组 2.1.1 一维数组的定义和使用

1. 数组的定义,和变量定义的区别多了一个[],[]内部放常量

int a[10];

2. 定义数组时,[]内部尽量用常量

int n = 10;
int b[n]; //vs编译错误

3. 定义数组时,数组名在同一{}内部是唯一的,不能和变量、其它数组名同名

int a[5]; //err
int a; //err

4. 使用数组时,[]可以是常量,变量,表达式

//定义一个数组,数组名字叫a,有10个元素,每个元素为int
//通过下标 *** 作元素,从0开始,0 ~ 9
  int a[10];
  a[0] = 1;
2.1.2 一维数组初始化
//定义同时赋值叫初始化,只能在定义时才能通过{}初始化
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
	
//前3个元素初始化,后面的自动填0
int a1[10] = {1, 2, 3};
	
//把每个元素都设置为0
int a2[10] = {0};
//int a3[10] = 0; //err
	
//根据初始化元素个数来确定数组大小
int a3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//如果[]不写大小,必须初始化,否则编译不过
//int a4[];
	
	
//如果一个局部数组,没有初始化,元素的值为随机数
int b[10];
//没有b[10]这个元素,一个元素也不能赋10个值
//b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //err
//b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};	//err
2.1.3  一维数组命名
int a[] = {1, 2, 3, 4, 6, 7, 8, 9, 10, -1, 20, 18, 22};
//1、数组名是常量,不允许修改的
a = 10; //err
	
//2、数组名是第0个元素(首元素)地址(重要)
printf("%p, %p\n", a, &a[0]);
	
//数组大小 sizeof(数组名)
//10个元素,每一个元素为int, 总大小:10 * 4 = 40
printf(" sizeof(a) = %lu\n", sizeof(a));
	
//a[0], 第0个元素,第0个元素为int
printf(" sizeof(a[0]) = %lu\n", sizeof(a[0]));
2.2 二维数组 2.2.1 二维数组的定义和使用
//1、定义一个一维数组,这个数组有3元素(3行),第一个[]数字代表元素个数
//2、每一个元素都是int [4],每个元素都是一维数组
//3、a[0], a[1], a[2]分别代表第0个元素,第1个元素,第2个元素,它是每一个元素数组名
//4、 *** 作二维数组的元素(用户角度),理解为多少行多少列
int a[3][4];
	
for(i = 0; i < 3; i++) //行
{
	for(j = 0; j < 4; j++) //列
	{
		a[i][j] = j;
		printf("%d, ", a[i][j]);
	}
	printf("\n");
}
2.2.2 二维数组初始化
//用户看方便,写不方便
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//用一维数组方式初始化
int a1[3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
//多维数组,如果定义同时初始化,第一个[]的数字可以不写
int a3[][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
//int a4[][4]; //err,第一个[]不写,必须初始化
	
int a4[3][4] = {0};
2.2.3 二维数组命名
int a[4][5];
	
//数组名为首元素地址,a[0]
printf("%p, %p\n", a, a[0]);
	
//1、测二维数组长度 sizeof(a), 4个元素,每一个int[5] = 4 * 4 * 5 = 80
printf("sizeof(a) = %lu\n", sizeof(a));
	
//2、测第0个元素的大小,它是一维数组,int [5] = 4 * 5 = 20
printf("sizeof(a[0]) = %lu\n", sizeof(a[0]));
	
//3、第0行第0列元素大小,就是一个int类型,4
printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0]));
	
//4、求行的数目,第一个[]数目,元素个数
int n = sizeof(a)/sizeof(a[0]);
printf("n1 = %d\n", n);
	
//5、求列的数目,第二个[]数目
n = sizeof(a[0])/sizeof(a[0][0]);
printf("n2 = %d\n", n);
	
//6、求行*列的总数
n = sizeof(a)/sizeof(a[0][0]);
printf("n3 = %d\n", n);
2.3 多维数组
int a[3][4] = 
{
	{1, 2, 3, 4},
	{5, 6, 7, 8},
	{9, 10, 11, 12}
};
	
//三维数组就是有n个二维数组
//所谓的n维数组就是有n个n-1维数组
int a[2][3][4] = {1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8,9, 10, 11, 12};
	
for(i = 0; i < 2; i++)
{
	for(j = 0; j < 3; j++)
	{
		for(k = 0; k < 4; k++)
		{
			//a[i][j][k]
		}
	}
}
三、字符数组 3.1 字符串和字符数组关系
//1、字符串是以数字0或者字符'char buf1[] = {'c', ' ', 'p', 'r', 'o', 'g' };
//%s代表以字符串的方式打印
//首地址,找字符串的结束符,遇到数字0或字符'char str[100];
scanf("%s", str);//遇到空格截断'结束打印
printf("buf1 = %s\n", buf1); //有可能乱码
	
char buf2[] = {'a', 'b', 'c', ''};
printf("buf2 = %s\n", buf2); //只打abc
	
char buf3[] = {'a', '', 'b', 'c', ''};
printf("buf3 = %s\n", buf3); //只打"a"
	
//1、使用字符串给字符数组初始化,这种方式只能在定义时使用
//2、它有6个字节这么大,隐藏了一个结束符
char buf4[] = "hello";
	
//char buf5[100];
//buf5 = "hello"; //数组名是常量,不允许修改
	
char buf6[100] = "hello";
	
char str[] = "abc";
printf("str == %s\n", str); //没有打印内容
	
char str1[] = "2abc"; //'2'是八进制转义字符
printf("str1 == '%s'\n", str1);'结尾
//2、如果字符数组,以数字0或者字符''结尾,那么这个字符数组就是字符串
char ch = 0;
printf("ch1 = %d\n", ch);
	
ch = ''; //十进制转义字符
printf("ch2 = %d\n", ch);
	
ch = '0'; //字符0,它是普通字符,不是字符串结束字符, ascii码为48
printf("ch3 = %d\n", ch);
3.2 字符数组初始化
 
3.3 字符数组输入 
 
四、写在最后  

对于热爱编程的同学来说,大部分人刚开始只是知其然却不知其所以然,这是一个普遍现象。主要原因是随着工作时间增加,虽然大部分人都是每天上班下班忙忙碌碌,但仅有少数人才真的下功夫去研究自己做的编程工作,更不愿意去学习、思考。知识只有建立起关联并形成体系的时候,才能真正提升你的能力,帮助你用来分析和解决问题。请关注:C语言知识体系视频课程。如何搭建一套自己的知识体系,将沉淀的知识变现,也可以关注:知识变现系统搭建。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1325848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存