C:总结:整型数组,字符数组,单链表,各自遍历的写法

本文总结了C语言中整型数组、字符数组和单链表的遍历方法。对于整型数组,重点在于理解有效数据个数与数组长度的关系,通过变量n记录有效数据并用循环条件i<n进行遍历。字符数组遍历时,可通过元素是否为''终止,或者使用指针方式,当*p!=0时继续。单链表遍历则以头指针head开始,循环条件为p!=0。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遍历:每个元素访问一次

1、整值型数组,比如整型,实型类的。需要注意的是,有效数据的个数应该小于等于数组的长度,比如,数组长度是50,有效数据是n个,则n<=50才是合法的。

通常我们用变量n记录有效数据的个数

循环条件是:i<n

#define N 50
main()
{
    int a[N],i,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
        scanf("%d",a[i]);

    //遍历数组,当前有n个有效数据
    for(i=0;i<n;i++)
        printf("%d",a[i]);

}

上述代码中,数组长度是N,有效数据个数是n。

大家在上机的时候经常是数组长度是多少就输入多少个数据,则数组长度就是有效数据个数,这么做没问题,只是一般用上面的方法,更具有普遍性。

2、字符型数组

1)不用指针进行遍历

循环条件是:元素!='\0'

#define N 50
main()
{
    char str[N],i;
    scanf("%s",str);//我们不知道输入了多少个字符,但是我们知道字符串的最后一定是\0

    //遍历字符数组,访问每一个元素str[i]
    for(i=0;str[i];i++)//循环条件  str[i]!=0  或者  str[i]!='\0'  或者  str[i]
        printf("%d",str[i]);

}

2)用指针来遍历:

循环条件是:*p!=0

#define N 50
main()
{
    char str[N],i,*p;
    scanf("%s",str);//我们不知道输入了多少个字符,但是我们知道字符串的最后一定是\0

    //遍历字符数组,访问每一个元素 *p
    for(p=str;*p!='\0';p++)//循环条件 *p  或者  *p!='\0' 或者  *p!=0
        printf("%d",*p);
}

3、单链表遍历

假设有单链表,头指针为head

循环条件是:p!=0

#define N 50
struct Node{
    int data;
    struct Node *next;
}s[N];
//假设单链表已经创建完毕,头指针是 head
……

main()
{
    struct Node *p;
    //遍历结点,访问每个结点的数据域 data,链表最后一个结点的指针域一定为 0 或者 NULL
    for(p=head; p!=0; p=p->next)//循环条件 p  或者 p!=0  或者 p!=NULL
        printf("%d",p->data);
    
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值