7.19知识总结

  1.简单了解了变量类型和存储地址

int类型的变量存储和存储地址,int类型的话,每个数值的存储占4个空间,比如存储数字10,就用了0061FE8C,0061FE8D,0061FE8E,0061FE8F这四个空间。相应的还有short,long,long long,char都是相同的原理。在这个程序中,sizeof(数组名),可以用来统计整个占用内存空间的大小,而sizeof(数据类型),可以用来统计这个数据类型所占的空间大小。

	int array[5]={10,11,12,13,14};
	printf("int类型空间大小:%d\n",sizeof(int));    //一个int类型占用4个空间
	printf("总类型空间大小:%d\n",sizeof(array));	//共占用20个空间 
	printf("array[0]的变量地址:%#p\n",&array[0]);  //0061FE8C,0061FE8D,0061FE8E,0061FE8F, (10) 
	printf("array[1]的变量地址:%#p\n",&array[1]);  //0061FE90,0061FE91,0061FE92,0061FE93, (11)
	printf("array[2]的变量地址:%#p\n",&array[2]);  //0061FE94,0061FE95,0061FE96,0061FE97, (12)
	printf("array[3]的变量地址:%#p\n",&array[3]);  //0061FE98,0061FE99,0061FE9A,0061FE9B, (13)
	printf("array[4]的变量地址:%#p\n",&array[4]);  //0061FE9C,0061FE9D,0061FE9E,0061FE9F, (14)
	char array_01[5]={10,11,12,13,14};
	printf("char类型空间大小:%d\n",sizeof(char));	//一个char类型占用1个空间 
	printf("总类型空间大小:%d\n",sizeof(array_01));	//共占用5个空间 
	printf("array_01[0]的变量地址:%#p\n",&array_01[0]);	//0061FE9B(10)
	printf("array_01[1]的变量地址:%#p\n",&array_01[1]);  //0061FE9C(11)
	printf("array_01[2]的变量地址:%#p\n",&array_01[2]);	//0061FE9D(12)
	printf("array_01[3]的变量地址:%#p\n",&array_01[3]);	//0061FE9E(13)
	printf("array_01[4]的变量地址:%#p\n",&array_01[4]);	//0061FE9F(14)

	short array_02[5]={10,11,12,13,14};
	printf("short类型空间大小:%d\n",sizeof(short));	//一个short类型占用2个空间 
	printf("总类型空间大小:%d\n",sizeof(array_02));	//共占用10个空间 
	printf("array_02[0]的变量地址:%#p\n",&array_02[0]);	//0061FE96,0061FE97(10)
	printf("array_02[1]的变量地址:%#p\n",&array_02[1]);  //0061FE98,0061FE99(11)
	printf("array_02[2]的变量地址:%#p\n",&array_02[2]);	//0061FE9A,0061FE9B(12)
	printf("array_02[3]的变量地址:%#p\n",&array_02[3]);	//0061FE9C,0061FE9D(13)
	printf("array_02[4]的变量地址:%#p\n",&array_02[4]);	//0061FE9E,0061FE9F(14)
	long array_03[5]={10,11,12,13,14};
	printf("long类型空间大小:%d\n",sizeof(long));	//一个long类型占用4个空间 
	printf("总类型空间大小:%d\n",sizeof(array_03));	//共占用20个空间 
	printf("array_03[0]的变量地址:%#p\n",&array_03[0]);	//0061FE8C,0061FE8D,0061FE8E,0061FE8CF(10)
	printf("array_03[1]的变量地址:%#p\n",&array_03[1]);  //0061FE90,0061FE91,0061FE92,0061FE93(11)
	printf("array_03[2]的变量地址:%#p\n",&array_03[2]);	//0061FE94,0061FE95,0061FE96,0061FE97(12)
	printf("array_03[3]的变量地址:%#p\n",&array_03[3]);	//0061FE98,0061FE99,0061FE9A,0061FE9B(13)
	printf("array_03[4]的变量地址:%#p\n",&array_03[4]);	//0061FE9C,0061FE9D,0061FE9E,0061FE9F(14)
long long array_04[5]={10,11,12,13,14};
	printf("long long类型空间大小:%d\n",sizeof(long long));	//一个long long类型占用8个空间 
	printf("总类型空间大小:%d\n",sizeof(array_04));	//共占用40个空间 
	printf("array_04[0]的变量地址:%#p\n",&array_04[0]);	//0061FE78,0061FE79,0061FE7A,0061FE7B,0061FE7C,0061FE7D,0061FE7E,0061FE7F(10)
	printf("array_04[1]的变量地址:%#p\n",&array_04[1]);  //0061FE80,0061FE81,0061FE82,0061FE83,0061FE84,0061FE85,0061FE86,0061FE87(11)
	printf("array_04[2]的变量地址:%#p\n",&array_04[2]);	//0061FE88,0061FE89,0061FE8A,0061FE8B,0061FE8C,0061FE8D,0061FE8E,0061FE8F(12)
	printf("array_04[3]的变量地址:%#p\n",&array_04[3]);	//0061FE90,0061FE91,0061FE92,0061FE93,0061FE94,0061FE95,0061FE96,0061FE97(13)
	printf("array_04[4]的变量地址:%#p\n",&array_04[4]);	//0061FE98,0061FE99,0061FE9A,0061FE9B,0061FE9C,0061FE9D,0061FE9E,0061FE9F(14)

2.数组越界

数组是有固定的长度的,如果长度超出数组长度,则视为越界。

3.数组的调用

将数组传递给函数:

        主函数

                被调函数名(实参数组名 实参数组大小)

被调函数

        被调函数名(形参数组名 形参数组大小)

                函数名(形参  类型  形参类型)

4.实例

<1>逆置数组

int change(int b[],int n);
int main(){
	int i;
	int a[8]={1,2,3,4,5,6,7,8};
	for(i=0;i<8;i++)
	printf("%d\n",a[i]);
	change(a,8);
	for(i=0;i<8;i++)
	printf("改:%d\n",a[i]);
	return 0;
}
int change(int b[],int n){
	int i;
	int t;
	for(i=0;i

        首先在主函数定义一个数组a,在数组里面放入需要存储的元素,然后在子函数里面实现元素的逆转,定义一个t,然后将第一个元素与最后一个元素,以t为媒介进行交换,不断地进行循环,循环的次数就是总元素个数除2。然后通过主函数调用实现。

<2>冒泡排序

#include 
#include 
#include 
int change(int a_01[],int m);
int main(){
	
	int a[10]={0};
	int i;
	int b;
		srand((unsigned)time(NULL)) ;
	for(i=0;i<10;i++){
		b=rand()%100;	
			printf("a[%d]的元素为:%d\n",i,b);
	}
	
	change(a,10);
	for(i=0;i<10;i++){	
			printf("a[%d]的元素排序后的值为:%d\n",i,b);
	}
	
	return 0;
}

int change(int a_01[],int m){
	int i,j;
	int t;
	for(i=0;i

你可能感兴趣的:(算法,c++,数据结构)