无忧中英繁企业网站系统 完整,重庆网站设计公司排名,sem专员,万网空间 wordpress前言#xff1a;
对应c语言视频54集
内容#xff1a;
一维数组的创建
数组是一组相同元素的集合#xff0c;
数组的创建方式
type_t就是数组的元素类型#xff0c;const_n是一个常量表达式#xff0c;用来指定数组的大小
c99标准之前的#xff0c;数组的大小必须是…前言
对应c语言视频54集
内容
一维数组的创建
数组是一组相同元素的集合
数组的创建方式
type_t就是数组的元素类型const_n是一个常量表达式用来指定数组的大小
c99标准之前的数组的大小必须是常量或常量表达式
c99之后可以是变量为了支持变长数组 这样也可以
#include stdio.h
{double data2[155]return 0;}
数组溢出也在字符串就是后面会自己加 \0但是现在因为输入了10个字符串就是不能输入\0字符的话就是大括号他是自动加\0就是加了10个字符后面还是会有\0的 int main()
{//不完全初始化剩余的元素默认初始化大小为0int arr[10] {1,2,3,4,5};//这里后面就是会溢出但是devc不会溢出 char ch1[10] abcdeghij;printf(%s, ch1);}
[ ]就是下标引用操作符
就是数组的下标从0开始计算的 可以打印数组的每个元素的地址 二、二维数组
//二维数组
int main()
{//二维数组的创建 int arr1[3][4];//二维数组的初始化就是三行每一行有四列 int arr1[3][4] {1,2,3,4,2,3,4,5,6,3,4,5,6,7}; //划分区域int arr2[3][4] {{1,2},{2,3},{3,4}}; //可以省略行但是不能省略列int arr3[][4] {{1,2,3,5},{2,3}}int arr2[5][8];return 0;}
冒泡排序算法
算法核心相邻的两个数进行排序
错误实例
//冒泡排序算法的核心思想
// 两个相邻的元素进行比较
void bubble_sort(int arr[], int zs)
{int i 0;for(i0; izs-1; i){int j 0;for(j0; jzs-1-i; j){//这里错了没有利用算法核心思想相邻的两个数进行排序if(arr[i]arr[j]){int tmp arr[i];arr[i] arr[j];arr[j] tmp;}}}} 正确事例
//冒泡排序算法的核心思想// 两个相邻的元素进行比较void bubble_sort(int arr[], int zs)
{int i 0;for(i0; izs-1; i){int j 0;for(j0; jzs-1-i; j){//如果前面一个数比后面的数大就交换if(arr[j]arr[j1]){int tmp arr[j];arr[j] arr[j1];arr[j1] tmp;}}}}int main()
{//数组//把数组的数据排成升序int arr[] {1,2,3,4,5,6,7,8,9,10};int zs sizeof(arr)/sizeof(arr[0]);//冒泡排序的算法对数组进行排序bubble_sort(arr,zs);int i 0;for(i0; izs; i){printf(%d , arr[i]);}return 0;} 数组名的解释
//数组名确实能表示首元素的地址
//但是有2个例外
//1、sizeof(数组名)这里的数组名表示整个数组。计算是整个数组的大小
//2、数组名这里的数组名表示整个数组取出的是整个数组的地址int main()
{int arr[10] {0};printf(%p\n, arr);printf(%p\n, arr1);printf(-------------------\n);printf(%p\n, arr[0]);printf(%p\n, arr[0]1);printf(-------------------\n);//取出的是整个数组的地址1就不是这个数组的范围的了 printf(%p\n, arr);printf(%p\n, arr1); //sizeof计算的是整个数组的大小int n sizeof(arr);printf(%d, n); return 0;}
二维数组的数组名的理解
//二维数组的数组名的理解
int main()
{int arr[3][4];//int sz sizeof(arr);//printf(%d\n, sz);//首元素表示一行的地址 printf(%p\n, arr); //二维数组的数组名也表示数组首元素的地址 printf(%p\n, arr1);//总数组大小除以一行的大小就是说有几行printf(%d\n, sizeof(arr)/sizeof(arr[0]));//打印有多少列 行除以一个元素 printf(%d\n, sizeof(arr[0])/sizeof(arr[0][0])); return 0;}