1、数组:
由相同类型的多个元素所组成的一个复合型数据类型
int array[10];
其中[]在C语言当中专门用来描述数组
(在声明语句中,他是个名词,在表达式语句当中,他是个动词)
数组的初始化及应用:
数组可以在一开始声明的时候初始化
int array[10] = {10, 20};
//初始化前面两个元素为10, 20,后面的内容全部置0
int array[] = {10,20};
//数组中的元素的个数可以不写,但是后面必须要写明元素的初始化,
//会根据后面初始化的内容个数帮我们自动填充数组个数
特别的存在:
char array[10] = {'h', 'e', 'l', 'l', 'o', '\0'};
char string[10] = "hello"; //C语言特别照顾的存在
ps:
上面两句话所代表的意义是一样;
如果不是初始化当中直接赋值一个字符串给一个数组是不行的
数组的名字在通过编译之后,其实就是一个地址,它的类型最是大个元素的地址类型
2、指针:
一个专门存放内存地址的变量类型,用关键符号*表示
int *p;
1,在分析一个变量类型的时候,如果遇到*,记住,马上停下来,
剩余的东西都是修饰这个指针所指向的内存是怎么样子的
2,指针的运算,加减叫做指针的偏移,偏移的单位由指针的类型大小所决定
3、字符串操作函数:
所有的字符串操作函数结束标志都是‘\0’
strlen:测量字符串中的字符数量(不包含'\0')
strcat:组合字符串
char *strcat(char *dest, const char *src);
dest:在这个内存后面添加
strc:添加的内容
strcmp:比较两个字符串是否一样
int strcmp(const char *s1, const char *s2);
如果两个字符串内容一样,则返回0;
如果s1字符串比s2字符串大则返回1,否则返回-1
ps:
这个大小指的是字符串按照ascii码一个字符一个字符相减得到的结果
strcpy:复制字符串到指定的内存当中
char *strcpy(char *dest, const char *src);
dest:复制到哪片内存
src:复制谁