2019/8/24 C语言回顾
Posted epll
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019/8/24 C语言回顾相关的知识,希望对你有一定的参考价值。
一、二维数组
一般形式
数据类型 数组名[行标][列标];
|
数组内元素的数据类型
int a[2][3]; 数据类型 int
完全初始化
int a[2][3] = 1,2,3,4,5,6;
int a[2][3] = 1,2,3,4,5,6;
注意:行标可以省略,列标必须保留
不完全初始化
int a[2][3] = 1,2,3,4;
int a[2][3] = 1,2,3,4;
不初始化
数组置零 a[2][3] =0;
引用二维数组元素
数组名[行标][列标]
注:行标和列标都是从0开始
sizeof
行标 * 列标 * 元素数据类型大小
字符数组
char a[6] = ‘h‘,‘e‘,‘l‘,‘l‘,‘o‘,‘\0‘;
char a[6] = "hello";
char a[6] = "hello";
char a[] = "hello";
ascii
char a[] = ‘h‘,‘e‘,‘l‘,‘l‘,‘o‘; 这不是字符数组,只能算asscii码数组
字符串打印方式
printf : %s
puts
都是遇到‘\0‘截止
二、指针
地址
地址常量
指针常量
指针变量
指针变量用来存放指针常量
指针常量和指针变量统称为指针
内存以字节为单位进行划分,每一个字节都有自己的地址编号(0 ~ 2^32 - 1)
指针定义的一般形式:
数据类型 * 指针变量名;
|
指针指向空间元素的数据类型
int a = 10;
int *p = &a;
&:取地址符 取的是首地址:某一段空间的第一个地址编号
*:取值符号 (和取地址符&互为逆运算)
p=&a
*p = *(&a)
*p = a;
指针的初始化
野指针:
int *p;
使用野指针可能会导致段错误
空指针:
int *p = NULL;
操作空指针一定会出现段错误
打印地址
printf %p
所有的指针都是4个字节大小
指针运算
p + 1:地址偏移,偏移指向空间元素的大小
p++:会改变本身指向空间,符合++在前和在后的规则
p < q:本质上比较的是两个指针存放地址的值的大小
(地址值较大的称之为高地址,反之称之为低地址)
p - q:结果为两个地址间相差元素的个数,一般使用在数组运算当中
以上是关于2019/8/24 C语言回顾的主要内容,如果未能解决你的问题,请参考以下文章