数组的定义:存储何种数据就定义何种数组
int a[10];
char a[10]等等
数组在内存中是连续存储的, 数组的大小不能动态定义,只能定义一个具体数值,未初始化的数组内存放的是垃圾值
数组在内存中从a[0]开始存放,从低字节到高字节,存放在内存的低地址到高地址之内,而字符因设备而异
数组的地址为第一个元素的首地址
数组的输入输出:使用for循环
for(i=0;i<sizeof(a)/sizeof(a[0]);i++)
{
scanf("%d",a[i]);输入
}
。。。。。。。。
{
printf("%d\n",a[i]);输出
}
未初始化的局部变量为随机值,而全局变量是0
二维数组:定义
int a[][4]={1,1};
第一个可以不定义,如果初始化一部分,其他的自动补0
[x]等价于*(a+x)
&只能用来取变量的地址
strcat函数:
strcat(a,b) 将b字符串接到a的后面
strcpy函数:
strcpy(a,b) 将b字符串拷贝到a中(替换)
strncpy(a,b,n)拷贝n个字符
strcmp函数
用来比较两字符串大小(比较首字母ASCII码值)
函数:用void函数定义的函数没有返回值 void print() int max(int a,int b)
调用函数时,调用的是函数名的地址 函数名表示的是地址
调用函数过程:
1通过函数名找到函数入口
2给形参分配空间
3吧实参拷给形参
4执行函数体
5返回
释放空间