------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1. 整型变量的存储空间
short 2字节 %hd
int 4字节 %d %i
long 8字节 %ld
longlong 8字节 %lld
unsigned %u
2. 改变整型数的符号
原来最高位表示一个数的符号,现在用来计算,计算机中默认为有符号数
使用unsigned关键字,把一个有符号数变为一个无符号数
char类型的存储
3. char类型的存储
1) char类型字符直接存储是把其ascii码转换为二进制后以int类型进行存储的,sizeof(‘a’)为4
2) char类型的变量是以一个字节进行存储的int ch=’a’,sizeof(ch)为1
4. 数组:一组具有相同数据类型的数据的有序的集合
1) 数组名定义严格遵守标识符命名规范
2) 数组名不能与其他变量同名
3) 数组的长度不可以为变量
int c;int a[c] ×
4) 数组的长度可以使用宏定义
5) 定义数组还可以与其他变量一起定义int a,b,c[3];
5. 数组的初始化
1) 特殊的一种初始化方法:int a[9]={[2]=1,[4]=67}定义数组的同时对指定下标的数组元素进行赋值。
2) 如果未初始化,数组是有值的,但是是垃圾值
3) 如果数组进行的是部分初始化,其余未初始化的元素会有默认的值
① int类型默认初始化为0
② float类型默认初始化为0.0
③ char类型的默认初始化为ascii码为0的字符
4) 注意:如果使用的是先定义数组,再部分初始化时,未初始化的元素仍为垃圾数
6. 数组的存储
1) 同一数组的元素在内存中是连续存储的,先定义存储在高地址,后定义的存储在低地址
2) 用&来获取数组元素的地址,&a[0]就是a[0]这个元素的内存地址
3) 数组名是一个常量,存储的是数组的首地址
4) 计算数组所占字节数,使用sizeof(数组名),sizeof(a)即为数组a所占的字节数
5) 计算数组长度,int a[]={1,2,3,4,5,6,7,8},数组长度计算式为:sizeof(数组名)/sizeof(数组类型)比如len =sizeof(a)/sizeof(int )
7. 用数组名作为函数的形参
1) 重要:用数组名作为形参,实参和形参之间是地址传递,变量做形参是值传递。实例:定义一个函数来交换两个数的值时,不能用变量作为形参,而用数组名做形参可以。
2) 形参数组的长度和实参数组的长度要一致,否则可能会是数组丢失数据
3) 实参和形参的类型要一致
4) 形参数组的长度可以不写
5) 数组名作为函数参数,会发生数组长度丢失,在自己定义的函数中使用sizeof(数组名)时,其结果为8,因为此时的数组名传过来的只是一个地址。
6) C语言中,任何类型的数据的内存地址都占8个字节
8. 冒泡排序
void sort(int arr[],int length){
int temp;
for(inti=0;i<length-1;i++){
for(intj=0;j<length-1-i;j++){
if(arr[j]<arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}