顾乔芝士网

持续更新的前后端开发技术栈

C语言数据结构4

数组:连续开辟的空间;

一维数组:<存储类型> <数据类型> <数组名> 【数组长度】

存储类型:auto、register、static、extern

数组名:这个数组的首地址,常量,不可更改;

多维数组:int a[10][7] :10是行(可省略),7是列

在内存中依然是连续存储;

元素个数=行*列;

可以看作是多个一维数组组成;

printf(a[%d]=%p) //输出地址,测试空间是否连续;

段错误:越界,也叫非法访问内存;

数组的初始化必须单个赋值;

数组打印也必须单个打印;

数组容易存在越界问题,所以使用数组要小心;

字符数组:

char a[10]={0}; 初始化为空;

字符串的初始化方式:

char a[10]={"hello"}

char a[10]="hello" //%c

char a[10]={'h','e','l','l','o'} //%s

a[]={"hello"} //puts(),5+\0=6(占了6个字节),结尾默认添加\0,自动添加长度;

sizeof(b)/sizeof(b[0]) :计算字节数;

二维数组:

char ch[3][6]=ch[][6]={{"hello"},{"abcde"},{"quwdb"}}

字符串的输入输出

for() {printf ("%c",a[i]);} //循环,%c打印;

printf("%s",a); //a是指首地址,用%s打印,后面必须是地址类型;

puts(a) //会自动换行;

输入:sanf("%s",a) //空白字符自动结束;

gets(a) //回车才结束;

sizeof(a)=%d //求的是a的空间长度,包括\0;

strlen(a)=%d //只显示字符个数,\0不会再显示长度;

字符串函数:

strlen 求字符串长度;字符串遇\0结束;

strcat 字符串连接函数

返回值:返回的是a的首地址;

strcat (a,b); //会自动去除字符数组a中的”\0“,将b连在a后;

strcpy 复制函数,将b复制到a,连同\0一起复制;

strcmp 比较函数,返回值>1 ==0 <-1,比较时从左往右比较;

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言