永发信息网

怎样用C指针遍历动态数组

答案:2  悬赏:10  手机版
解决时间 2021-03-11 20:40
怎样用C指针遍历动态数组
最佳答案
1 可以通过指针来遍历动态数组
    一般的,用stdlib.h里的malloc函数来创建动态数组
    该动态数组在内存上是连续的,因此可以用指针来遍历
2 一个小示例
#include
#include
#define N 9

int main(){
    //1. 创建一个长度为N的整型动态数组
    int *arr = (int*)malloc(N * sizeof(int));

    //2. 给该数组赋值
    for (int i = 0; i < N; i++)
        arr[i] = i;

    //3. 定义一个指针p指向该数组
    int*p = arr;

    //4. 通过指针p来遍历该动态数组
    for (int i = 0; i < N; i++)
        printf("%d ", *p++);

    printf("
");
    getchar();
    return 0;
}3 运行结果如下

全部回答
#include
#include
struct book
{
char book_id[20];
char book_name[20];
char book_writer[20];
struct book* next;
};
void main()
{
int i;
struct book * qwe,*tep,*head;
qwe = (struct book *)malloc(sizeof(struct book));
head=qwe;
for(i=0;i<2;i++)
{
printf("请输入书籍ID%3d\n",i+1);
scanf("%s",&qwe->book_id);
printf("请输入书籍名字%3d\n",i+1);
scanf("%s",&qwe->book_name);
printf("请输入作者名字%3d\n",i+1);
scanf("%s",&qwe->book_writer);
tep= (struct book *)malloc(sizeof(struct book));
qwe->next=tep;
qwe=tep;
}
qwe->next=NULL;
printf("\n\n输出书籍信息\n");
for(i=0;i<2;i++)
{
printf("书籍ID%s\n书籍名字%s\n书籍作者名字%s\n",head->book_id,head->book_name,head->book_writer);
head=head->next;
}
printf("\n");
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
车在起步时发出哒哒声是怎么回事
【多行不义必自毙的意思】多行不义必自毙的近
与君相恋100次,大家都看过了吗
济宁市妇女儿童活动中心在哪里啊,我有事要去
bsr的BSR(缓冲状态报告)
下列有关全球变暖造成的影响及其对策的叙述,
汽车方向跑偏的原因
车之谷汽车服务这个地址在什么地方,我要处理
海螺水泥在建房质量如何,寿命有多长
以下那种车不属于小型、微型非营运载客汽车。
制作的flash怎么放在网站上
谭孔训地址有知道的么?有点事想过去
求带有香港标志建筑和狮子山的水墨画风格的图
一个男人向我表白后又说叫我不要有压力,不会
古风圈拿日本歌曲旧曲填新词出唱片不侵犯著作
推荐资讯
洛克王国用可可果把宠物升级跟打怪升级加的属
如何在电脑中删除3.5软盘的图标··请给我详
关于高考自我鉴定(重庆)
网狐后台管理系统怎么删除一些个人资料
历史漫画蕴含着丰富的历史信息。右侧漫画反映
兰溪棹歌的诗意
成年哺乳动物脑的“脑室下区”存在神经干细胞
鑫源夫妻保健地址有知道的么?有点事想过去
平时总是听人说百级无尘车间,还有什么千级万
重点实验室建设的可行性又哪儿些
【中信银行电子对账】请简要说明我行电子验印
心联欣北街药房地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?