C语言:强类型语言
定义变量:分配空间
类型 变量名;
初始化:定义变量同时赋初值 =
引用变量:使用变量(引用本变量的内容)
注:此变量已经定义
指针:地址
指针变量:专门用于存储指针的变量
二级指针:
类型** 变量名;
总结: char* pa=指针; *pa只会出一个字节 short* pa=指针; 取出2Byte
指针的运算: + -
总结:指针+n或-n 是右移或者左移n个元素 short* pa=0; pa+n=pa+sizeof(short)*n;
指针与数组的关系:
指针与一维数组的关系: int buf[10]={1,2,3,4,5,6,7,8,9,10}; int* pa=buf;
下标法:
数组名就是首地址。
buf[下标法]
指针与二维数组的关系:
int buf[4][5];
buf是首地址,是第一行的首地址 行指针
buf[n]代表的是n+1行的第0列的首地址 列指针
指针变量与二维数组的关系:
二维数组指针变量: 类型 (*数组名)[列长度]
函数:系统函数printf,fork,自定义函数
定义函数:功能
返回值 函数名(形参列表)
{
函数体
}
注:函数可以通过return来结束函数
调用函数: 函数名(实参);
变量的作用域与生命周期:
作用域:局部变量与全局变量
程序=算法+数据
一个程序如果需要执行,必须将此程序加载到内容中
入口地址:每一个程序都会有一个地址,可以地址来调用函数。
注:函数名主是入口地址的别名
函数指针变量:专门用于存储函数的入口地址
返回值 (*指针变量名)(形参列表);
指针数组:存放多个指针的数组
类型* 数组名[长度];//此数组专门用于存储地址
引用数组:
数组名[下标];
选择排序:
将元素分为两堆,左边已排序,右边未排序。
1、每次从未排序中取最值依次存放到已排序队列中
2、直至取出所有未排序的元素。
定义变量:分配空间
类型 变量名;
初始化:定义变量同时赋初值 =
引用变量:使用变量(引用本变量的内容)
注:此变量已经定义
指针:地址
指针变量:专门用于存储指针的变量
二级指针:
类型** 变量名;
总结: char* pa=指针; *pa只会出一个字节 short* pa=指针; 取出2Byte
指针的运算: + -
总结:指针+n或-n 是右移或者左移n个元素 short* pa=0; pa+n=pa+sizeof(short)*n;
指针与数组的关系:
指针与一维数组的关系: int buf[10]={1,2,3,4,5,6,7,8,9,10}; int* pa=buf;
下标法:
数组名就是首地址。
buf[下标法]
指针与二维数组的关系:
int buf[4][5];
buf是首地址,是第一行的首地址 行指针
buf[n]代表的是n+1行的第0列的首地址 列指针
指针变量与二维数组的关系:
二维数组指针变量: 类型 (*数组名)[列长度]
函数:系统函数printf,fork,自定义函数
定义函数:功能
返回值 函数名(形参列表)
{
函数体
}
注:函数可以通过return来结束函数
调用函数: 函数名(实参);
变量的作用域与生命周期:
作用域:局部变量与全局变量
程序=算法+数据
一个程序如果需要执行,必须将此程序加载到内容中
入口地址:每一个程序都会有一个地址,可以地址来调用函数。
注:函数名主是入口地址的别名
函数指针变量:专门用于存储函数的入口地址
返回值 (*指针变量名)(形参列表);
指针数组:存放多个指针的数组
类型* 数组名[长度];//此数组专门用于存储地址
引用数组:
数组名[下标];
选择排序:
将元素分为两堆,左边已排序,右边未排序。
1、每次从未排序中取最值依次存放到已排序队列中
2、直至取出所有未排序的元素。