一维数组
一般形式
数据类型 + 名称 +【长度】
初始化 3种形式
- 根据下标
- 声明时候加入等号
- 声明时候不指定长度,根据初始化的个数来确定。
字符串使用的一维数组
字符串数据和一般的字符数据区别是,前者还包含了字符串结束符:“\0”.
C没有专门的字符串类型,但是允许使用字符串常量和字符串数组,并提供字符串操作函数。
二维数组
格式声明:
数据类型 + 名称 +【长度1】【长度2】
数组长度是 长度1* 长度2
二维字符串数组
可以看做多个一维字符串数组,第一组是字符串的个数
多维数组
格式同二维
总长度同二维
由于需要占用内存的关系,三维数组以上的多维较少使用。
markdown常用语法
一、标题 ###
二、要加粗的文字左右分别用两个*号包起来
三、要加删除线的文字左右分别用两个~~号包起来
四、引用 在引用的文字前加>即可
五、三个或者三个以上的 - 或者 * 都可以。
六、图片 ![图片alt](图片地址 ''图片title'')
七、 [超链接名](超链接地址 "超链接title")
八、无序列表用 - + * 任何一种都可以
九、数字加点
十、上一级和下一级之间敲三个空格即可
十一、表格
表头|表头|表头
---|:--:|---:
内容|内容|内容
内容|内容|内容
十二、代码块:代码之间分别用三个反引号包起来,且两边的反引号单独占一行
指针与指针变量
定义
定义时候,需要指定所指向的数据类型。格式如下:
数据类型 * 变量名
代表指针变量,声明后,才可以写入指向某种数据类型的变量地址。
其中& 运算符称为取地址运算符,作用是取得变量的内存地址。
指针变量的引用
* 指针变量 ---这里的作用是访问指针变量所指向的内存单元的值。
注意:
C有两个指针运算符,取地址运算符和间接引用运算符,都是一元,优先级仅仅次一元算术运算符。
指针和数组
指针和一维数组
定义了一维数组后,可以定义一个与其类型一样的指针变量指向该数组,等同于pi =&i[0],
总结
- pi+n 或者 i+n 便是数组元素i[n]的地址 ,即&i[4].
- *(pi+n) 和 *(i+n) 便是各元素,相当于 i[n]
- 指针变量也可以用数组的下标,如,pi[n] ,效果相当于 *(pi +n)
指针和二维数组
1.每一行都有一个首地址, i[0] 代表 &i[i][0] i[1] 代表i[1][0]的地址
指针与字符串数数组
puts()函数的作用是将字符串无格式输出,当PC作为参数,会内存中将PC所指向的地址开始,输出到字符串结束符之间。
指针的地址分配
指针变量的取值是内存的地址,应该是安全的,不是随意的,应使用编译系统提供的标准函数来实现。
malloc 和 free 包含在stdlib.h中。
注意字符串有结束符。
指针数组
一种特殊的数组,存放的是同一数据类型的内存定制。
数据类型 * 数组名【长度】
执行指针的指针
定义:
数据类型 **变量名