龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

学点 C 语言(23): 数据类型 - 给指针分配内存(2)

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
3. 像数组一样使用: #include #include int main(void) { int *p = (int *)malloc(sizeof(int)*3); p[0] = 111; p[1] = 222; p[2] = 333; printf("%d, %d, %dn", p[0], p[1], p[2]); free(p); getchar(); ret

  3. 像数组一样使用:

#include 

#include 

int main(void)

{

  int *p = (int *)malloc(sizeof(int)*3);

  p[0] = 111;

  p[1] = 222;

  p[2] = 333;

  printf("%d, %d, %dn", p[0], p[1], p[2]);

  free(p);

  getchar();

  return 0;

}

  4. calloc 会同时初始化内存, malloc 则不会, 不初始化应该更快些:

#include 

#include 

int main(void)

{

  const int num = 10;

  // calloc 和 malloc 参数也有点区别

  long *p1 = (long *)calloc(num, sizeof(long)); /* 会初始化  */

  long *p2 = (long *)malloc(num * sizeof(long)); /* 不会初始化 */

  int i;

  for (i = 0; i < num; i++) {

    printf("%d, %dn", p1[i], p2[i]);

  }

  free(p1);

  free(p2);

  getchar();

  return 0;

}

  5. realloc:

#include 

#include 

int main(void)

{

  int num = 10;

  int i;

  

  long *p = (long *)malloc(num * sizeof(long));

  printf("内存地址: %pn~~~~~~~~n", p);

精彩图集

赞助商链接