C语言对"不定长"字符串数组的遍历
一般来说,c语言的数组的初始化可以通过三种方式:
{0},在声明时使用,如 int a[10]={0}
使用memset, memset(array,0,sizeof(array))
用for循环赋值
C语言的数组可以这样声明,int a[]= {1,2,3}
,即不用事先计算长度,但是通过初始化的值的数量来自动判断其长度。
另外,对于这种声明方式,便不能用{0}的方法,否则会被自动识别为长度为1的数组,而C语言的数组一旦声明,长度是不能再变化的。
同时,类似于c语言中的字符串数组,c语言中并没有直接计算其长度的函数,所以,一般采用如下的方式:
char * a[] = {"hello","world","!",NULL};
for(int i = 0; a[i]!=NULL; ++i){
...
}
在初始化的数组最后一位加上NULL,这样,当遍历到此位置的时候便可得知已将前面的char*元素遍历完成。
C语言对"不定长"字符串数组的遍历的更多相关文章
- YTU 2420: C语言习题 不等长字符串排序
2420: C语言习题 不等长字符串排序 时间限制: 1 Sec 内存限制: 128 MB 提交: 460 解决: 239 题目描述 在主函数中输入n(n<=10)个不等长的字符串.用另一函 ...
- YTU 2419: C语言习题 等长字符串排序
2419: C语言习题 等长字符串排序 时间限制: 1 Sec 内存限制: 128 MB 提交: 650 解决: 249 题目描述 在主函数中输入n(n<=10)个等长的字符串.用另一函数对 ...
- C#数组的定义,不定长的数组?
首先,在这里我要说明的是,C#中,定义了数组,那么就必须为其指定长度,且他的长度确定,不能够更改.一旦定义一个数组,那么操作系统就在内存中给这个数组指定了一块内存,他是不支持动态分配存储空间的.能够动 ...
- struts2:遍历自定义字符串数组,遍历Action实例所引用对象中的数组
在struts2:OGNL表达式,遍历List.Map集合:投影的使用一文中已经讲述了OGNL遍历List.Map集合等功能. 本文简单写一个遍历数组的示范程序. 1. 遍历自定义字符串数组 < ...
- C语言打印最长字符串
编程在一个已知的字符串中找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词. ]; printf("请输入字符串:"); fgets(p, , stdin); ; ; ; ...
- C语言中字符串数组的遍历和比较
/* The list of known types of default packet. */static char *_default_packet_types[] = { "d ...
- c语言实现字符指针(字符串)数组的排序
需求: "ff555d", "114ddd", "114dd","aaa", "aaab", &qu ...
- C语言学习笔记之成员数组和指针
成员数组和指针是我们c语言中一个非常重要的知识点,记得以前在大学时老师一直要我们做这类的练习了,但是最的还是忘记了,今天来恶补一下. 单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个 ...
- C语言格式化输入不定长数组
先随便写写,有空再整理. 直接贴代码 #include <stdio.h> #include <stdlib.h> //从一行标准输入中格式化输入一个不定长数组 void in ...
随机推荐
- Spring笔记(1)
Spring快速入门 开发步骤 导入坐标 <dependency> <groupId>org.springframework</groupId> <artif ...
- Linux centos7 nginx 的安装
2021-08-18 1. 环境 # 操作系统[root@test007 /]# uname -aLinux test007 3.10.0-862.el7.x86_64 #1 SMP Fri Apr ...
- centos7 修改时间
2021-07-28 查看日志时发现系统时间不正确,故修改时间 # 查看当前系统时间 date # 修改当前系统时间 date -s "2021-7-28 17:03:00" # ...
- element-ui 用 el-checkbox-group 做权限管理
template <el-checkbox-group v-model="menu_ide" v-for="(item,index) in menu_idss&qu ...
- 一文读懂Base64编码
Base64编码 字符对应表 上表就是用来表示Base64,一共64个字符,A-Z,a-z,0-9,+,-,还有=(作为补位) 无论将文件,字符串,还是什么转为Base64,一定是用上表的字符表示. ...
- MySQL——select语句
select: 基本语法:select 列名 或 * from 对象(表.视图...) where: = > < <> != like ----> like 'old%' ...
- Intel® QAT加速卡之性能简介
Intel QuickAssist Adapter 8950 设备简介 支持英特尔QuickAssist技术的英特尔QuickAssist适配器提供加密加速和压缩加速服务. 1. Key featur ...
- Linux下运行bash脚本显示“: /usr/bin/env: "bash\r": 没有那个文件或目录
用 ./ 运行bash脚本文件出现 报错信息 /usr/bin/env: "bash\r": 没有那个文件或目录 错误原因:这主要是因为bash后面多了\r这个字符的原因.在lin ...
- prometheus从零开始
本次的想法是做服务监控 并告警 主要线路如下图所示 1.运行prometheus docker方式 docker run -itd \ -p 9090:9090 \ -v /opt/prometh ...
- easyx小游戏
#include "stdafx.h" int main(){ srand(time(NULL)); initgraph(640,480); int user_x=20,user_ ...