建云购网站吗,北京网络营销推广公司,网站好友邀请链接生成 php,网站商城支付宝开通怎么做1.assert(条件);
一旦条件为假则报错
2.统一关闭assert方法:
在#includeassert.h
上一行加上#define NDEBUG
3.但是引用assert会增加程序运行的时间
4.size_t等价于unsigned int
5.关于数组首元素的地址
两个特例:
sizeof,数组名
6.
int main()
{int a…1.assert(条件);
一旦条件为假则报错
2.统一关闭assert方法:
在#includeassert.h
上一行加上#define NDEBUG
3.但是引用assert会增加程序运行的时间
4.size_t等价于unsigned int
5.关于数组首元素的地址
两个特例:
sizeof,数组名
6.
int main()
{int arr[10] { 0 };int sz sizeof(arr) / sizeof(arr[0]);int* p arr;int i 0;return 0;}
上述代码中, p arr;
因此,arr[i] p[i];
*(p 9) *(arr 9);
arr[i] i[arr],
而arr[i] *(arr i).
7.将一个数组传给函数后,不能在函数内部求数组的元素个数
因为给函数传数组时,传递的并非数组,而是数组首元素的地址
而在函数接收数组的形参那里,用的是指针来接收而并非用数组来接收
8.数组降级指的是数组变为了数组首元素的地址
例:
#define _CRT_SECURE_NO_WARNINGS 1
#includestdio.h
#includeassert.hint func1(int arr[])
{return 0;
}
int main()
{int arr[10] { 0 };func1(arr);return 0;}
上述代码中,数组降级了
9.冒泡排序:
相邻的两个元素进行比较,如果不满足顺序就进行交换
代码例子:
#define _CRT_SECURE_NO_WARNINGS 1
#includestdio.hint func1(int arr[], int sz)
{int i 0;int j 0;int tem 0;for (j 0; j sz - 1; j){for (i 0; i sz - 1 - j; i){//两两比较if (arr[i] arr[i 1]){tem arr[i];arr[i] arr[i 1];arr[i 1] tem;}}}
}int main()
{int arr[] { 2,3,6,5,9,8,5,3,26,9,1,4,72 };int sz sizeof(arr) / sizeof(arr[0]);func1(arr, sz);int i 0;for (i 0; i sz; i){printf(%d , arr[i]);}return 0;}
效率得到优化后的冒泡排序:
#define _CRT_SECURE_NO_WARNINGS 1
#includestdio.hint func1(int arr[], int sz)
{int i 0;int j 0;int a 1;//1要继续,0要结束int tem 0;for (j 0; j sz - 1; j){a 0;for (i 0; i sz - 1 - j; i){//两两比较if (arr[i] arr[i 1]){tem arr[i];arr[i] arr[i 1];arr[i 1] tem;a 1;}}if (a 0){break;}}
}int main()
{int arr[] { 9,0,1,2,3,4,5,6,7,8 };int sz sizeof(arr) / sizeof(arr[0]);func1(arr, sz);int i 0;for (i 0; i sz; i){printf(%d , arr[i]);}return 0;}