Sponsored Content
Full Discussion: Help with linked list in C
Top Forums Programming Help with linked list in C Post 302509541 by disaster on Thursday 31st of March 2011 03:49:55 AM
Old 03-31-2011
I think the problem is, that you only work on the malloc'ed memory locally within the function.
You give add_client a pointer of type client. This is given by call by value, i.e. assigning the pointer a newly malloc'ed memory will not assign this memory to the pointer in the main function! Therefore your client *current is pointing to an undefined memory location even after call of add_client.

Better do this:
Code:
client *add_client(char *username, client *head, int *client_socket_fd) {
    client *current;
    current = (client *)malloc(sizeof(client)); 
    current->client_name = username;
    current->next = head;
    current->client_socket_fd = *client_socket_fd;
    return current;
}


Furthermore: What are you willing to achieve with:
head = current;
current = head
?
 

10 More Discussions You Might Find Interesting

1. Programming

Reverse single linked list

Can any one help me in reversing the single linked list and at the same time i want to print the reversed links. (2 Replies)
Discussion started by: dhanamurthy
2 Replies

2. UNIX for Dummies Questions & Answers

List linked files

A perl script that displays the list of files which have multiple links..! ls -l shows number of links in a field. (0 Replies)
Discussion started by: aadi_uni
0 Replies

3. Programming

shared memory with linked list??

is this possible, if so plz please share with me.. Correct English please, not Cyber-/Leetspeak (11 Replies)
Discussion started by: vijay_manpage
11 Replies

4. Programming

I need C++ Code for single linked list

I need C++ Code for single linked list With operations as 1)insert at any position 2)delete any 3)change the data of any position (2 Replies)
Discussion started by: girija
2 Replies

5. Programming

How to check if something exists in linked list in C?

i have a linked list set up like typedef struct client_list { char *client_name; int client_socket_fd; struct client_list *next; } client; client *client_list=NULL; before adding to the list i check if it already exists, only if it does not then i add if (client_list==NULL... (1 Reply)
Discussion started by: omega666
1 Replies

6. Programming

how to check if something exists in a struct linked list?

can someone provide an example of a struct linked list, where it has strings as its values, and then how do I check if a specific string (say called buffer) exists in the list of structs? i dont understand how to make a copy of it to check with this is what i have ... (0 Replies)
Discussion started by: omega666
0 Replies

7. UNIX for Advanced & Expert Users

Unix linked-list placement

Hi, I am programming in kernel, and I want to use a double linked list that holds infos that every process could access and modify THIS list. So, I suppose it is a 'global' variable since every process(thread) can reach it, I am wondering where to put it? by changing some of the kernel files? (1 Reply)
Discussion started by: louisTan
1 Replies

8. Programming

Help with linked list.

#include<stdio.h> #include<stdlib.h> struct LinkedList { int val; struct LinkedList *next; }node; /*Creating a structure variable*/ typedef struct LinkedList Node; Node *start = NULL; int create(int i) { Node *temp = NULL; if (start == NULL) ... (5 Replies)
Discussion started by: prinsh
5 Replies

9. Programming

How to delete the last node in a linked list.?

How to delete the last node in a single linked list given only the pointer to last node ? Head node will not be given. (5 Replies)
Discussion started by: VSSajjan
5 Replies

10. Programming

How to reverse a linked list by traversing only once.?

Program to reverse a linked list by traversing only once. (1 Reply)
Discussion started by: VSSajjan
1 Replies
MALLOC_ZONE_MALLOC(3)					   BSD Library Functions Manual 				     MALLOC_ZONE_MALLOC(3)

NAME
malloc_create_zone, malloc_destroy_zone, malloc_default_zone, malloc_zone_from_ptr, malloc_zone_malloc, malloc_zone_calloc, malloc_zone_valloc, malloc_zone_realloc, malloc_zone_memalign, malloc_zone_free -- zone-based memory allocation SYNOPSIS
#include <malloc/malloc.h> malloc_zone_t * malloc_create_zone(vm_size_t start_size, unsigned flags); void malloc_destroy_zone(malloc_zone_t *zone); malloc_zone_t * malloc_default_zone(void); malloc_zone_t * malloc_zone_from_ptr(const void *ptr); void * malloc_zone_malloc(malloc_zone_t *zone, size_t size); void * malloc_zone_calloc(malloc_zone_t *zone, size_t num_items, size_t size); void * malloc_zone_valloc(malloc_zone_t *zone, size_t size); void * malloc_zone_realloc(malloc_zone_t *zone, void *ptr, size_t size); void * malloc_zone_memalign(malloc_zone_t *zone, size_t alignment, size_t size); void malloc_zone_free(malloc_zone_t *zone, void *ptr); DESCRIPTION
The malloc_create_zone() function creates a malloc zone, advising an initial allocation of start_size bytes, and specifying flags The returned malloc zone can be used to provide custom allocation and deallocation behavior, and to retrieve additional information about the allocations in that zone. At present there are no client settable flag values recognized by malloc_create_zone(), the flags argument should always be passed as zero. The malloc_destroy_zone() function deallocates all memory associated with objects in zone as well as zone itself. The malloc_default_zone() function returns the default system malloc zone, used by malloc(3), and free(3). The malloc_zone_from_ptr() function returns a pointer to the malloc zone which contains ptr or NULL, if the pointer does not point to an allocated object in any current malloc zone. The malloc_zone_malloc(), malloc_zone_calloc(), malloc_zone_valloc(), malloc_zone_realloc(), malloc_zone_memalign(), and malloc_zone_free() perform the same task on zone as their non-prefixed variants, malloc(3), calloc(3), valloc(3), realloc(3), posix_memalign(3), and free(3) perform on the default system malloc zone. RETURN VALUES
The malloc_create_zone(), malloc_default_zone(), and malloc_zone_from_ptr() functions return a pointer to a malloc_zone_t structure, or NULL if there was an error. The malloc_zone_malloc(), malloc_zone_calloc(), malloc_zone_valloc(), malloc_zone_realloc(), and malloc_zone_memalign() functions return a pointer to allocated memory. If there is an error, they return a NULL pointer. They are not required to set errno. SEE ALSO
malloc(3), posix_memalign(3) BSD
Aug 13, 2008 BSD
All times are GMT -4. The time now is 08:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy