怎样用C指针遍历动态数组
答案:2 悬赏:10 手机版
解决时间 2021-03-11 20:40
- 提问者网友:藍了天白赴美
- 2021-03-11 11:10
怎样用C指针遍历动态数组
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-03-11 11:34
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 运行结果如下
一般的,用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 运行结果如下
全部回答
- 1楼网友:我住北渡口
- 2021-03-11 12:35
#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");
}
#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");
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯