{"id":14194,"date":"2024-03-15T08:38:48","date_gmt":"2024-03-15T08:38:48","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/"},"modified":"2025-08-06T05:13:10","modified_gmt":"2025-08-06T05:13:10","slug":"how-do-you-sort-string-arrays-in-the-c-programming-language","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/","title":{"rendered":"Sort String Arrays in C: Complete Guide"},"content":{"rendered":"<p>In the C language, the library function qsort() can be used to sort an array of strings.<\/p>\n<p>The prototype of the qsort() function is:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">void<\/span> <span class=\"hljs-title function_\">qsort<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">void<\/span> *base, <span class=\"hljs-type\">size_t<\/span> nmemb, <span class=\"hljs-type\">size_t<\/span> size, <span class=\"hljs-type\">int<\/span> (*compar)(<span class=\"hljs-type\">const<\/span> <span class=\"hljs-type\">void<\/span> *, <span class=\"hljs-type\">const<\/span> <span class=\"hljs-type\">void<\/span> *))<\/span>;\r\n<\/code><\/pre>\n<p>The base is the starting address of the array to be sorted, nmemb is the number of elements in the array, size is the size of each element, and compar is a pointer to the comparison function.<\/p>\n<p>The prototype of the comparison function is:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">compar<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">const<\/span> <span class=\"hljs-type\">void<\/span> *a, <span class=\"hljs-type\">const<\/span> <span class=\"hljs-type\">void<\/span> *b)<\/span>;\r\n<\/code><\/pre>\n<p>In which, a and b are pointers pointing to the elements being compared, the comparison function should return an integer value.<\/p>\n<ol>\n<li>If the return value is less than 0, then a should come before b.<\/li>\n<li>If the return value is greater than 0, then a should come after b.<\/li>\n<li>If the return value is 0, the relative order of a and b will remain unchanged.<\/li>\n<\/ol>\n<p>Here is an example code demonstrating how to use the qsort() function to sort an array of strings.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdio.h&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;stdlib.h&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;string.h&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">compare<\/span><span class=\"hljs-params\">(<span class=\"hljs-type\">const<\/span> <span class=\"hljs-type\">void<\/span> *a, <span class=\"hljs-type\">const<\/span> <span class=\"hljs-type\">void<\/span> *b)<\/span> {\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-built_in\">strcmp<\/span>(*(<span class=\"hljs-type\">char<\/span> **)a, *(<span class=\"hljs-type\">char<\/span> **)b);\r\n}\r\n\r\n<span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">()<\/span> {\r\n    <span class=\"hljs-type\">char<\/span> *<span class=\"hljs-built_in\">array<\/span>[] = {<span class=\"hljs-string\">\"apple\"<\/span>, <span class=\"hljs-string\">\"banana\"<\/span>, <span class=\"hljs-string\">\"orange\"<\/span>, <span class=\"hljs-string\">\"grape\"<\/span>, <span class=\"hljs-string\">\"lemon\"<\/span>};\r\n    <span class=\"hljs-type\">int<\/span> length = <span class=\"hljs-keyword\">sizeof<\/span>(<span class=\"hljs-built_in\">array<\/span>) \/ <span class=\"hljs-keyword\">sizeof<\/span>(<span class=\"hljs-built_in\">array<\/span>[<span class=\"hljs-number\">0<\/span>]);\r\n\r\n    qsort(<span class=\"hljs-built_in\">array<\/span>, length, <span class=\"hljs-keyword\">sizeof<\/span>(<span class=\"hljs-built_in\">array<\/span>[<span class=\"hljs-number\">0<\/span>]), compare);\r\n\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-type\">int<\/span> i = <span class=\"hljs-number\">0<\/span>; i &lt; length; i++) {\r\n        <span class=\"hljs-built_in\">printf<\/span>(<span class=\"hljs-string\">\"%s\\n\"<\/span>, <span class=\"hljs-built_in\">array<\/span>[i]);\r\n    }\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>The output result is:<\/p>\n<pre class=\"post-pre\"><code>apple\r\nbanana\r\ngrape\r\nlemon\r\norange\r\n<\/code><\/pre>\n<p>In this example, an array of strings called &#8220;array&#8221; containing five strings is sorted using the qsort() function, resulting in the strings being sorted in alphabetical order.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the C language, the library function qsort() can be used to sort an array of strings. The prototype of the qsort() function is: void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); The base is the starting address of the array to be sorted, nmemb is the number of [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[2847,381,12756,9367,3746],"class_list":["post-14194","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-array-sorting","tag-c-programming","tag-c-programming-tutorial","tag-qsort-function","tag-string-arrays"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sort String Arrays in C: Complete Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to sort string arrays in C using qsort(). Complete guide with function prototypes and parameters explained.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sort String Arrays in C: Complete Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how to sort string arrays in C using qsort(). Complete guide with function prototypes and parameters explained.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T08:38:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T05:13:10+00:00\" \/>\n<meta name=\"author\" content=\"Liam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Liam\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/\"},\"author\":{\"name\":\"Liam\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\"},\"headline\":\"Sort String Arrays in C: Complete Guide\",\"datePublished\":\"2024-03-15T08:38:48+00:00\",\"dateModified\":\"2025-08-06T05:13:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/\"},\"wordCount\":186,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"array sorting\",\"C++ Programming\",\"C++ programming tutorial\",\"qsort function\",\"string arrays\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/\",\"name\":\"Sort String Arrays in C: Complete Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T08:38:48+00:00\",\"dateModified\":\"2025-08-06T05:13:10+00:00\",\"description\":\"Learn how to sort string arrays in C using qsort(). Complete guide with function prototypes and parameters explained.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sort String Arrays in C: Complete Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671\",\"name\":\"Liam\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g\",\"caption\":\"Liam\"},\"sameAs\":[\"http:\/\/Wilson\"],\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sort String Arrays in C: Complete Guide - Blog - Silicon Cloud","description":"Learn how to sort string arrays in C using qsort(). Complete guide with function prototypes and parameters explained.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/","og_locale":"en_US","og_type":"article","og_title":"Sort String Arrays in C: Complete Guide","og_description":"Learn how to sort string arrays in C using qsort(). Complete guide with function prototypes and parameters explained.","og_url":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T08:38:48+00:00","article_modified_time":"2025-08-06T05:13:10+00:00","author":"Liam","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Liam","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/"},"author":{"name":"Liam","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671"},"headline":"Sort String Arrays in C: Complete Guide","datePublished":"2024-03-15T08:38:48+00:00","dateModified":"2025-08-06T05:13:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/"},"wordCount":186,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["array sorting","C++ Programming","C++ programming tutorial","qsort function","string arrays"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/","url":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/","name":"Sort String Arrays in C: Complete Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T08:38:48+00:00","dateModified":"2025-08-06T05:13:10+00:00","description":"Learn how to sort string arrays in C using qsort(). Complete guide with function prototypes and parameters explained.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-do-you-sort-string-arrays-in-the-c-programming-language\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Sort String Arrays in C: Complete Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/23786905eb7b377f45ddb01c17da7671","name":"Liam","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8d37ed3e7f770dde8bf069ba0b4298688028c3abaacf1131742fc1352d174ebd?s=96&d=mm&r=g","caption":"Liam"},"sameAs":["http:\/\/Wilson"],"url":"https:\/\/www.silicloud.com\/blog\/author\/liamwilson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=14194"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14194\/revisions"}],"predecessor-version":[{"id":158217,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/14194\/revisions\/158217"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=14194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=14194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=14194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}