10 More Discussions You Might Find Interesting
1. Programming
Hi everyone,
i made this program. is a simple one for practising malloc, realloc and structs.
I have a struct named shop as global variable in which i take the size of the matrix from the keyboard and after i malloc it.
I insert the values with the fullarray() and after i print the matrix with... (7 Replies)
Discussion started by: giampoul
7 Replies
2. UNIX for Dummies Questions & Answers
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int*
allocat_array(void)
{
int *array;
int tmp;
int n_values = 0 ;
array = malloc(sizeof(int));
if(array == NULL)
return NULL;
while(scanf("%d",&tmp) != EOF)
{
... (1 Reply)
Discussion started by: vincent__tse
1 Replies
3. Programming
Not sure in which forum to post this. I'm trying here, in Programming.
I'm working on a PC with Intel Duo processor & 2GB of ram. OS is Ubuntu 10.04.
I'm having problems with a C++ program that makes extensive use of realloc(). It happens that as soon as the overall memory allocated(OS +... (14 Replies)
Discussion started by: mamboknave
14 Replies
4. Programming
b = realloc(a, 1000);
if realloc succeeds and b!=a (not in-place replacement), does realloc automatically free a or I should free both a and b afterwards?
thank you! (5 Replies)
Discussion started by: bashuser2
5 Replies
5. Programming
Hi all
I'm trying to use someone else's software, which has a realloc that fails in it. This is probably due to memory limitations, as it only happens when I use this software on huge datasets.
First question : how to diagnose if it's a soft or hard limitation? I mean, if it's due to my... (10 Replies)
Discussion started by: jossojjos
10 Replies
6. Programming
Hi,
I am seeing varying results about, when realloc() fails in reallocation.
Which one is correct out of the below?
a) realloc() maintains the original pointer (i.e) the original pointer is left unaltered/untouched but relloc() returns the NULL value.
b) original buffer pointer is lost... (3 Replies)
Discussion started by: royalibrahim
3 Replies
7. Programming
Why when using realloc, john is reversed 3 times but not the other 2 names ? But if I use malloc, then the 3 names are reversed correctly ? (but then there is a memory leak)
How can I reverse all 3 names without a memory leak ?
char *BUFFER = NULL;
char *STRREVERSE(const char *STRING)
{... (5 Replies)
Discussion started by: cyler
5 Replies
8. Programming
N00B here. This function would be easier using a char pointer along with free. But I wish to learn how to use char static pointers (they do not require free, right ?).
How do I erase the content of a static pointer ? Terminating the string works but the static pointer's content is not being... (4 Replies)
Discussion started by: limmer
4 Replies
9. Programming
hi,
I'm using gcc version 3.4.6 on a Red Hat system... (not sure how to determine version of glibc)
when i run the following, i get:
glibc detected *** realloc(): invalid next size: 0x0804a170
I'm not sure what is wrong. The error happens on the second iteration of
the while loop.... (3 Replies)
Discussion started by: Andrewkl
3 Replies
10. Programming
Hello,
my program works properly but valgrind tells me I am not freeing allocated memory. I think the problem is in realloc.
I am pretty sure I do something wrong with realloc, because I changed it a bit and valgrind noticed less errors (that the program wasn't working properly with less errors... (3 Replies)
Discussion started by: samciz
3 Replies
MALLOC(3) Library Functions Manual MALLOC(3)
NAME
malloc, free, realloc, calloc, alloca - memory allocator
SYNOPSIS
char *malloc(size)
unsigned size;
free(ptr)
char *ptr;
char *realloc(ptr, size)
char *ptr;
unsigned size;
char *calloc(nelem, elsize)
unsigned nelem, elsize;
char *alloca(size)
int size;
DESCRIPTION
Malloc and free provide a general-purpose memory allocation package. Malloc returns a pointer to a block of at least size bytes beginning
on a word boundary.
The argument to free is a pointer to a block previously allocated by malloc; this space is made available for further allocation, but its
contents are left undisturbed.
Needless to say, grave disorder will result if the space assigned by malloc is overrun or if some random number is handed to free.
Malloc maintains multiple lists of free blocks according to size, allocating space from the appropriate list. It calls sbrk (see brk(2))
to get more memory from the system when there is no suitable space already free.
Realloc changes the size of the block pointed to by ptr to size bytes and returns a pointer to the (possibly moved) block. The contents
will be unchanged up to the lesser of the new and old sizes.
In order to be compatible with older versions, realloc also works if ptr points to a block freed since the last call of malloc, realloc or
calloc; sequences of free, malloc and realloc were previously used to attempt storage compaction. This procedure is no longer recommended.
Calloc allocates space for an array of nelem elements of size elsize. The space is initialized to zeros.
Alloca allocates size bytes of space in the stack frame of the caller. This temporary space is automatically freed on return.
Each of the allocation routines returns a pointer to space suitably aligned (after possible pointer coercion) for storage of any type of
object. If the space is of pagesize or larger, the memory returned will be page-aligned.
SEE ALSO
brk(2), pagesize(2)
DIAGNOSTICS
Malloc, realloc and calloc return a null pointer (0) if there is no available memory or if the arena has been detectably corrupted by stor-
ing outside the bounds of a block. Malloc may be recompiled to check the arena very stringently on every transaction; those sites with a
source code license may check the source code to see how this can be done.
BUGS
When realloc returns 0, the block pointed to by ptr may be destroyed.
The current implementation of malloc does not always fail gracefully when system memory limits are approached. It may fail to allocate
memory when larger free blocks could be broken up, or when limits are exceeded because the size is rounded up. It is optimized for sizes
that are powers of two.
Alloca is machine dependent; its use is discouraged.
4th Berkeley Distribution May 14, 1986 MALLOC(3)