一维数组的定义格式为:
类型说明符 数组名[常量表达式],例:int a[10]
它表示定义了一个整形数组,数组名为a,有十个元素。
常见错误:
float a[0]; /*数组大小为0没有意义*/
int b(2)(3); /*不能使用圆括号*/
字节序:
大端字节序:高字节存放在低地址,低字节存放在高地址
小端字节序:高字节存放在高地址,低字节存放在低地址
int array[5] :未初始化的局部变量是垃圾值。全局变量是0.
初始化 :
int array[5]={1,2,3,4,5};全部初始化。
int array[5]={1};第一个为,其他为0,局部初始化。
数组长度:
printf("%p\n",&array[0]);数组首元素地址,单位是4字节。
printf("%p\n",array); array是数组名,同时也是数组首元素地址,单位是4字节。
printf("%p\n",&array);数组的地址,单位是一个数组,20字节。
printf("%p %p\n",a[1]),*(a+1)); //[x] ===========*(a+x)
printf("%p\n",&a[0][0]); //首元素的地址,单位4字节
printf("%p\n",a[0]); //首行首元素的地址,单位4字节
printf("%p\n",&a[0]); //首行的地址,单位12字节
printf("%p\n",a); //首行的地址,单位12字节
printf("%p\n",&a); //数组的地址,单位48字节
strcat(str,ptr); //将字符串ptr连接到str后面
strcpy(str,ptr); //字符串拷贝函数,把ptr指向的字符串拷贝到str里。
字符串赋值:
1.char str[20] = "hello";
2.char str[20]; str[0]='h";str[1]="e";
3.strcpy(str,"hello");
错误:char str[20]; str = "helloworld";
函数:
C程序: 只包含一个主函数main(), 也可以包含一个主函数和若干个其他函数(库函数和自定义函数)
格式:
函数类型 函数名(形式参数类型说明表)
{
函数体
return k(返回函数类型参数);
}
int add(int x,int y)//有返回值 有形参
1.形参个数和实参对应 ,2.类型对应, 3.名字可以不一致。
【】
*函数调用步骤:
一.通过函数名找到函数的入口地址(函数名为地址)
二.给形式参数分配空间
三.传值(将实参传给形参)(值传递、地址传递)
四.执行函数体
五.返回
六.释放空间(释放栈空间)