一维数组:格式 int a[10] ;注意初始化数组之后机器会给数组分配地址空间,比如a[0]地址为 0x100,则a[1]为0x104 a[2]为0x108以此类推,其实里面的0x100,0x104与我们平时理解的还不一样他不是简单的‘位’,而是以字节为单位的,因为是用int来声明的所以元素之间相差4字节,并且低位的一定是a[0]。另外定义一个变量时 比如 int b = 10;也是四个字节,只不过根据存放顺序与机器有关,分为大端模式与小端模式。
大端字节序:是高字节放在低地址,低字节放高地址;
小端模式:是高字节放高地址,低字节刚地地址;
int a[5];
sizeof[a]=20(B);sizeof(a[0])=4(B);这是因为a代表一整个数组;
未初始化的全局变量是0,未初始化的局部变量是一堆乱序数;如果对一个数组进行初始化,只初始化其中几个值,那么其他数值会默认为0;
int a[20]; &a[0] + 1 =a[1];
a + 1地址会增加这个一维数组的总长度个字节 ,比如这一题会增加 20 *4=80,若是二维数组也是增加一维的长度即行长度;
&a是取的全部空间;*(a+x)=[x];
strcat(s1,s2);把s2加到s1的后面;
strcpy(s1,s2);把s2复制到s1中包括\0;strcpy(s1,s2 ,3)这是指定了复制s2的前三个元素;这种方法可以给字符串赋值;
strcmp(s1,s2);比较两个字符串的大小;
函数声明时可以先在上面main函数的上面先声明,在main函数的下面定义,函数遇到return和exit()这两个函数会自动结进程;
extern 关键字是声明一个全局变量或者函数;声明不占用空间,定义则需要分配空间,static用来修饰全局变量,目的是其他文件不得调用。