第二天学习c语言

一维数组

一维数组的定义

顺序关系的若干个变量的集合,内存是连续的

数组名是内存首地址,是地址常量。sizeof(数组名)是数组占用的总内存空间

内存字节数=数组维数*sizeof(元素数据类型)

定义数组必须知道数组的大小,小心越界(下标从0开始)

一维数组的引用

先定义,在引用。如果不初始化的话,就可能会出现随机数

static数组自动赋初值,为0;

求数组的大小sizeof(arr)/sizeof(数据类型)sizeof(arr[0]);

冒泡排序

二维数组

二维数组的定义

内存是一维的,存放按行序优先

二维数组的引用

int arr[2][3]={{1,2,3},{4,5,6}}

可以不写行数,但列数必须写,数组名就是首地址

    printf("%p ",arr);指向其首元素的指针
    printf("%p ",&arr);指向整个数组的指针

字符数组

字符数组初始化

逐个字符赋值,依“\0”结束

字符数组初始化二维数组

逆序输出字符串

字符串函数strlen

头文件string.h

常见的字符串处理函数

1.strlen 求字符串的长度

2.strcpy 字符串拷贝

3.stract 字符串连接

4.strcmp 字符串比较

strlen(字符数组)不包括“/0”

\xhh 表16进制      \ddd 表8进制

字符串函数strcpy

strcpy(字符串1,字符串2),把字符串2拷贝到字符串1中,字符串1足够大

stract和strcmp

stract("字符串1","字符串2"),把字符串2加到字符串1后

strcmp("字符串1","字符串2"),从左到右依次比较每个字符的ASCII值

相同返回值是0

字符串1>字符串2,返回正整数

字符串1<字符串2,返回负整数

字符串的拓展用法

strncpy(p,p1,n)复制指定的长度

strncat加指定长度

strncmp比较指定长度字符串

strcasecmp,不管大小写比较字符串

指针

指针的基本用法

c语言使用指针可以:

程序简洁、紧凑、高效

有效的表达复杂的数据结构

动态分配内存

得到多余一个的函数返回值 

指针的概念

内存单元的地址称为指针

<存储类型> <数据类型> * <指针变量名>

指针的含义

px,指针变量,他的内容是地址量

*px,指针所指向的对象,他的内容是数据

&px,指针变量占用的存储区域是地址,是一个常量

 

指针就是内存单元的地址

指针有多少个字节 ,取决与是多少位,64位8个字节,32位4个字节

指针的运算

 两个指针的相减量等于整数值

NULL指针

指针和数组

指针变量就是地址变量,数组的指针是地址常量 

数组元素反序

 

指针和二维数组

 

二维数组被称为行地址,数组名+1是移动一行元素

数组指针

字符指针

字符指针是把内存中字符串的首地址赋予指针,并不是把该字符串复制到指针中。 

字符串常量

当一个字符指针指向一个字符串常量时,不能修改指针指向的对象的值(静态存储区)

 

静态存储区:全局变量、static局部变量、字符串常量 

实现字符串连接功能

 不使用字符串函数,将其放到另一个字符串中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值