3.数组下标char buff[20]=“hello”
buff[5]="\0"4.数组初始化
(1)定义的时候直接初始化
(2)定义的时候通过手动输入(键盘输入)
for(i=0;i<10,i++)
{ scanf("%d,&a[i]");
}
//如何访问数组内容
for(i=0;i<10,i++)
{ printf(“%d,a[i]”)
}
5.柔性数组
int a[]={1,2};6 字={}符串函数
char buff[10]=“nihao”;
char buff[10]={“nihao”};
char buff[10]={‘a’,‘a’};
7.数组内存的计算
sizeof 所数据类型有空间的大小
strlen 计算字符串的真实大小,结尾没有\0
8.数组函数请空
1.数组直接赋值零
2.使用系统函数bzero.
用法bzero(a,5)
二.二维数组
1.定义:一个一维数组中存放一维数组
数组与写法 int buff[][]
2.二维数组初始化
int buff[][]={{1,2,2},{1,2,3}}
int buff[][3]={{1,2,2},{1,2,3}}
int buff[3][]={{1,2,2},{1,2,3}}//错误
3.字符串赋值
char buff[2][6]={“nihao”,“wohao”};
三.函数
通过一定的方式实现某种功能
1.一个C程序有且只有一个主函数
2.程序入口是主函数
3.主函数只能调用其他函数,不能被调用
4.主函数不是固定的
框架
(1)int main()
(2)void main()
(3) int main(int argc ,char *argv[])argc 参数个数
(4) int main(int argc ,char *argv[])argc 参数个数 char *argv[]参数内容
函数种类:
自定义函数
系统函数
3,参数的种类
*实参:实际传入的参数
形参:表示定义函数的时候提供的数据位置
4.函数的声明
*声明:包含函数的含义
定义:包含函数实现过程
5.函数的作用域
*局部变量:主要是只作用于当前函数
全局变量:作用于全局
但全局变量与局部变量重名时,会失效
四.指针
定义:存放地址变量,一种数据类型
写法:数据类型,指针名
int *a
定义一个指针a,他的指针类型 int a存放地址
int a = int *a
定义指针:int a=10
int *p=&a
指针类型,决定了这个指针,指向什么类型的数据地址
*:指针的标志/解引用取出来
解引用:把他从地址里
&:取址符:对变量进行操作(获取变量地址)
int *p=null;
2.指针大小计算
使用sizeof计算内存:
指针大小分为32位操作系统4字节,64位8字节
3.指针的加减法
用法一:地址加减法
int*p;
指针:整型指针加一地址位数会加四
字符型指针加一地址位数会加1
加一个数据类型
用法二:
4.数组指针,指针数组
(1)数组指针:指向数组的指针
写法:int (*p)[5];
int buff[5]
p=buff
p=&buff
(2)指针数组:
定义:数组里面存储都是指针地址,
(1)指针数组:指向数组的指针
写法:int * P[5];
二维数组:访问数组的数组
二级指针:指向地址的地址
移植工程
1.正确