Memory Allocation : Memory Allocation « Memory « C Tutorial

C Tutorial
1. Language
2. Data Type
3. String
4. printf scanf
5. Operator
6. Statement
7. Array
8. Function
9. Structure
10. Pointer
11. Memory
12. Preprocessor
13. File
14. Data Structure
15. Search Sort
16. Wide Character String
17. assert.h
18. ctype.h
19. math.h
20. setjmp.h
21. signal.h
22. stdio.h
23. stdlib.h
24. string.h
25. time.h
26. wctype.h
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
C Tutorial » Memory » Memory Allocation 
11. 1. 1. Memory Allocation
  1. The functions for allocation of memory: malloc, relloc, and calloc.
  2. The functions return the pointers to void, which can be typecast to any data type.
  3. These functions take the input as the size of memory requirement.
#include <stdio.h>
#include <malloc.h>

main(){

    int *base;
    int i,j;
    int cnt=0;
    int sum=0;
    printf("how many integers you have to store \n");
    scanf("%d",&cnt);
    base = (int *)malloc(cnt * sizeof(int));
    printf("the base of allocation is %16lu \n",base);
    if(!base)
        printf("unable to allocate size \n");
    else {
        for(j=0;j<cnt;j++)
           *(base+j)=5;
    }
    sum = 0;
    for(j=0;j<cnt;j++)
        sum = sum + *(base+j);
    printf("total sum is %d\n",sum);
    free(base);
    printf("the base of allocation is %16lu \n",base);
    base = (int *)malloc(cnt * sizeof(int));
    printf("the base of allocation is %16lu \n",base);
    base = (int *)malloc(cnt * sizeof(int));
    printf("the base of allocation is %16lu \n",base);
    base = (int *)calloc(10,2);
    printf("the base of allocation is %16lu \n",base);
}
how many integers you have to store
1234
the base of allocation is          4016352
total sum is 6170
the base of allocation is          4016352
the base of allocation is          4016352
the base of allocation is          4021296
the base of allocation is          4007120
11. 1. Memory Allocation
11. 1. 1. Memory Allocation
w___ww__.ja_v__a___2_s___._c__o___m | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.