对一维数组的认识

1.一维数组

1.一维数组的定义:数组是具有一定顺序关系的若干变量的集合,其中每个变量称之为数组的元素。一个数组可以分解为多个数组元素,这些数组元素可以分为数据类型和构造类型 ,即数组又可以分为:数值数组,字符数组,指针数组,结构体数组。

C语言中使用数组时必须先进行定义,一维数组是只有一个下标的数组

<存储类型>  + <数据类型> + (<数组名>+[<常量表达式>])       

#include <stdio.h>
#define N 5
int main()
//定义一个存放5个元素的数据类型的元素数组
{
    int a;
    int arr[N];
    return 0
}
  • 存储类型指的是:auto  ,  register,   static,   extern 。若省略,相当于auto
  • 数据类型:可以是任意一种基本的数据类型或者构造类型。实质上是指数组元素的取值类型,对于同一组数组来说,其所有的元素的数据类型都是相同的。
  • 数组名:是连续分配空间的名称,一般有字母数字下划线组成。但不能以数字开头。也不能与其他变量相同(若想计算数组所站字节大小的时候,用公式当想要计算数组中元素的个数时:可以通过:sizeof(数组名)/ sizeof(首元素)-------》sizeof(arr)/sizeof(arr[0])当想要计算数组中元素的个数时:可以通过:sizeof(数组名)/ sizeof(首元素)-----------》sizeof(arr)/sizeof(arr[0]))

2. 一维字符数组:本质就是字符串,对于字符串而言,可以整体去操作

-------------》字符串的特性函数:gets(),puts()

//定义一个可以存放20个字符的一维数组?
char str[20]={'a','b','c','d','e','f'};
char str[20]={"abcdef"};
char str[20]="abcdef";
//上面三种都是正确正确的表达方式

注意:
字符数组的结尾都要有一个结束标志'\0',如果没有考虑到'\0'的存在,则在打印数组内容时,会出现无限打印,直到遇到第一个'\0'才打印结束。所以在给字符数组进行赋值时,要考虑到'\0'的存在(至少留一个位置给'\0'),所以不可以写满

3.gets()  和puts()是非常危险的函数,一般很少使用
字符串的特性函数   Gets();

  函数原型:Char *gets(char *s);//s 变量名char*需要传首地址

  简易版:  Gets(数组名);//输入   Puts(数组名)://输出

  函数原型:  Int puts(const char *s);

 总结:

(1) 字符串一般都需要有结束标志付标志符,‘\0’,否则打印是会出现正常+乱码的形式;

(2) 可以同时使用特性函数,gets,puts来进行字符串的输入以及输出。 同时还可以通过标准输           入输出函数scanf和printf来完成获取字符以及输出字符串;

(3)  gets和scanf的区别?

          gets是只有遇到回车才代表输如完成;

         Scanf是与到空格,

4.如何正确定义一个可以存放N个字符的一维数组? 

char  str[N] = {0};.//赋值方式,开辟了N个元素空间

char  str[N] = {"0"};

注意:字符数组的结尾都要有一个‘\0’,如果没有考虑到‘\0’存在,则在数组内容是,会出现无现打印大的情况,知道遇到第一个‘\0’时才会结束打印。所以在给字符数组进行赋值时,要考虑到一个‘\0’的存在

字符数组:本质就是一串字符串

对于字符串的操作非常多-------》学习一些与字符串操作相关的函数

  • 字符串的处理函数:对象:  字符串---》字符数组
  1. 求字符串长度的函数:strlen
  2. 实现字符串之间的拷贝:strcmy   //完全拷贝
  3. 实现字符串之间的链接:strcat
  4. 实现字符串之间的比较:strcmp

        

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值