Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Manage C data using the GLib collections

Open source library adds a wide range of useful data utilities

Tom Copeland (tom@infoether.com), Developer, InfoEther
Tom Copeland started programming in BASIC on a TRS-80 Model III, but demand for that skill has waned and he now mostly writes Ruby, C, and Java code. He contributes to various open source projects, including PMD and GForge, and he helps administer RubyForge, an open source Ruby project repository. He and his wife, Alina, have five children (Maria, Tommy, Anna, Sarah, and Steven) and live in Virginia. You can contact Tom at tom@infoether.com.

Summary:  In this tutorial, learn how to use the GLib collection data structures to effectively manage data within C programs. In particular, you'll see how to use GLib's built-in data structures/containers -- linked lists, hash tables, arrays, trees, queues, and relations -- to fill the need for them in C.

Date:  28 Jun 2005
Level:  Intermediate PDF:  A4 and Letter (165 KB | 54 pages)Get Adobe® Reader®

Activity:  46217 views
Comments:  

Before you start

About this tutorial

This tutorial shows you how to use the GLib collections to manage data efficiently and elegantly within your C programs. The GLib collections are the result of many years of refinement and are used by numerous open source programs. These collections provide the more complex data structures/containers (the functions and variables you need to manage data) that are in short supply in the C language.

This tutorial is written for Linux™ or UNIX® programmers whose skills and experience are at a beginning to intermediate level.


Prerequisites

To get the most out of this tutorial, you should be generally familiar with a UNIX-like environment and know how to use a command-line shell.

You also need some basic programming tools to compile the source code examples, such as a compiler like GCC (see the Resources section for downloading GCC); all of the code examples in this tutorial were compiled with GCC 3.4.2.

You also need the GLib runtime and development libraries installed. Most modern Linux distributions come with the GLib runtime installed; for example, the "workstation" installation of Fedora Core 3 comes with two GLib RPMs: glib2-2.4.7-1 and glib2-devel-2.4.7-1.

1 of 12 | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Linux, Open source
ArticleID=132891
TutorialTitle=Manage C data using the GLib collections
publish-date=06282005
author1-email=tom@infoether.com
author1-email-cc=jaloi@us.ibm.com

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.