ACM培训②

来源:互联网 发布:单片机计时器原理 编辑:程序博客网 时间:2024/06/05 15:58

一、指针变量自加1,在地址上是变为下一个与他相邻的地址,在数值上是加4,因为一个int 型占4个字节。

二、数组的本质其实是一堆连续的地址,例如,int a[20],其中a就代表着数组第一个元素的地址,(a+1)代表第二个,以此类推。

三、利用指针申请一个动态数组

利用malloc函数

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int *p;
    int n,i;
    scanf("%d",&n);
    p=(int*)/*强制转换类型,malloc的返回值为void,所以强制转换为int型放入p中*/malloc(n*sizeof(int/*数组的类型*/));
    //p=(int*)calloc(n,sizeof(int));
    for(i=0;i<n;i++)
        scanf("%d",&p[i]);
    free(p);//每次使用完后都要用free释放该空间。
    return 0;

}

这样就可以不用申请一个大的数组浪费内存空间。

0 0