C博客作业05--指针

0.展示PTA总分(0----2)

MX6qtH.png

1.本章学习总结(2分)

1.1 学习内容总结

  • 指针做循环变量:即将指针作为循环变量,在指针移动到某一个位置的时候,达到了循环结束的条件,循环结束。
for (p = a; p <= a + 9; p++)//即指针p作为循环变量 { sum = sum + *p; }
  • 字符指针如何表示字符串:字符指针指向了字符数组的首地址。
定义指针*p,字符数组a[] p=a[]//字符指针表示字符数组a[]的首地址
  • 动态内存分配:利用malloc或calloc(区别:malloc动态申请的内存不会自动赋初值,而calloc则会自动赋予初值0;相同点:都需要在结束时释放动态分配的内存)
    `
    if ((p = (int)malloc(或calloc)(n sizeof(int))) == NULL)//动态申请内存
    {
    printf("Not able to allocate memory.\n");
    exit(1);
    }

free(p);//释放申请的内存

1.2 本章学习体会

挺好的

达到

2.PTA实验作业(7分)

2.1 6-9 合并两个有序数组(2)

一开始的解题思路是合并后排序当数据很大时会超时 时间复杂度为n²

C博客作业05--指针_第1张图片

随后修改一下代码复杂度为n,思路是直接从最后一项比较两个数组的值,值大的放在最后,放后对应的下标-1

C博客作业05--指针_第2张图片

你可能感兴趣的:(C博客作业05--指针)