第十课 C语言数组

1.数组是一片连续且同类型的储存空间

2定义方式:

类型名 数组名[ 个数 ];

例如:int buf [10];

表示定义一个数组,里面可以储存十个int型的数据,他们的地址连续。


PS:一般来讲,数组名表示首地址

3.初始化,引用

一般来讲,定义和初始化是同时进行的。

引用数据,就是引用数据的内容。引用方法用两种,一个是通过地址引用,另一个是通过下标引用。

数组的是从零开始的。

buf[10]有十个数据,第一是buf[0], 第二个是buf[1],第三个是buf[2]。。。。。。。


3.初始化就是赋值,如果没有赋值,那么就默认为0;


后面没有赋值的部分全部为0;

4.特殊情况

在定义的同时初始化,如果没有给出数组的长度,一般默认是初始化的长度。


比如这个,最后输出16个字节长度,说明编译器默认数组有四个int型的数据。

二.字符数组

    字符数组和字符串有区别。

    1.定义并且初始化字符数组。

    

字符数组的引用和数组的引用没有多大区别。

字符数组和一般的数组没有多大区别。

2.字符数组的末尾以‘\0’结尾

3.字符数组的API接口。

全都可以人为实现。

    练习:
1、char buf[100]="";
   char name[10]="abcd";
  将name复制给buf


2、将下列字符串转换成为大写字符:
char buf[100]="aFDsfdsDE3432d";


3、将下列字符串的字符数转换为成整型值
char num[10]="123a"; //123


4、比较两个字符串是否相等
char buf[10]="abc";
char buf1[20]="abc";
  相等  buf>buf1   buf<buf1


5、查找子字符串:
"abcdefgabcflifaiafdaelifaalifeiafdasfe"
"lifei"


6、将下列数组中的大写字符排在前列,小写字符排在紧挨大写字符后面;
char buf[]={"AfdSFDsSdfDSSD"};


7、把一个char buf数组的字符串循环右移n个(n==2时,循环移动2个  )

8、统计下列数组中单词的数量: 

char buf[]="I love china ";  (单词以空格分隔)


上面有许多程序都有相应的函数。

1.strlen(),可以计算字符数组的字符。


2.strcat,连接两个字符串


3.比较两个字符串的大小 strcmp

strcmp(数组1,数组2);

数组1>数组2,返回1

数组1=数组2,返回0

数组1<数组2,换回-1


4.将一个数组粘贴到另一个数组中

下面这个连接有详细的函数和解释

点击打开链接


猜你喜欢

转载自blog.csdn.net/weixin_42581560/article/details/81035096