{"id":12038,"date":"2022-09-29T10:20:56","date_gmt":"2022-09-29T04:50:56","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/"},"modified":"2022-09-29T10:20:56","modified_gmt":"2022-09-29T04:50:56","slug":"solved-deleting-all-structure-entries-in-c-programming","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/","title":{"rendered":"[Solved] Deleting all structure entries in C Programming"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-40186901\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"40186901\" data-parentid=\"40186641\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>The members of <code>struct person<\/code> are fixed in size, and are not allocated separately from the <code>struct<\/code> instance &#8211; short answer is that you cannot resize the arrays, nor can you deallocate their storage without deallocating the entire <code>struct<\/code> instance.  The absolute best you can do in this case is to write an empty string to each member to indicate it&#8217;s not in use:<\/p>\n<pre><code>strcpy( contacts[i].fname, \"\" );\n<\/code><\/pre>\n<p>This does not change the size of the array, though.<\/p>\n<p>In order to make the members of <code>struct person<\/code> resizable and\/or deletable, you have to allocate them separately from the <code>struct<\/code> instance itself.  To do that, you need to declare them as <em>pointers<\/em> to <code>char<\/code>, as opposed to arrays of <code>char<\/code>:<\/p>\n<pre><code>struct person\n{\n  char *fname;\n  char *lname;\n  char *number;\n};\n<\/code><\/pre>\n<p>When you create a new instance of <code>struct person<\/code>, you will need to allocate the memory for each member separately:<\/p>\n<pre><code>#define SIZE 20  \/\/ for this example, both number of contacts and size\n                 \/\/ of each struct member\n\nstruct person contacts[size];\nfor ( size_t i = 0; i &lt; j; i++ )\n{\n  contacts[i].fname = malloc( sizeof *contacts[i].fname * SIZE );\n  contacts[i].lname = malloc( sizeof *contacts[i].lname * SIZE );\n  contacts[i].number= malloc( sizeof *contacts[i].number * SIZE );\n}\n<\/code><\/pre>\n<p>To resize any of the members, use <code>realloc<\/code>:<\/p>\n<pre><code> char *tmp = realloc( contacts[i].fname, sizeof *contacts[i].fname * SIZE * 2 );\n if ( tmp ) contacts[i].fname = tmp;\n<\/code><\/pre>\n<p>Since <code>realloc<\/code> can potentially return <code>NULL<\/code>, it&#8217;s recommended that you save the result to a temporary pointer variable, rather than immediately re-assigning it back to your original pointer; otherwise you risk losing track of the previously-allocated memory, leading to a memory leak.<\/p>\n<p>You are also going to want to track how much memory is allocated for each member so you guard against buffer overruns.<\/p>\n<p>To delete any of the members, use <code>free<\/code>:<\/p>\n<pre><code>free( contacts[i].fname );\n<\/code><\/pre>\n<p>Note that if you dynamically allocate an instance of <code>struct person<\/code>, you still need to dynamically allocate each member:<\/p>\n<pre><code>struct person *p = malloc( sizeof *p );\np-&gt;fname = malloc( sizeof *p-&gt;fname * SIZE );\n...\n<\/code><\/pre>\n<p>This also means that you must deallocate each member <em>before<\/em> you deallocate the struct instance itself:<\/p>\n<pre><code>free( p-&gt;fname );\nfree( p-&gt;lname );\nfree( p-&gt;number );\nfree( p );\n<\/code><\/pre>\n<p>Simply freeing <code>p<\/code> will not free the memory allocated to <code>p-&gt;fname<\/code>, <code>p-&gt;lname<\/code>, and <code>p-&gt;number<\/code>.      <\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">2<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Deleting all structure entries in C Programming <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] The members of struct person are fixed in size, and are not allocated separately from the struct instance &#8211; short answer is that you cannot resize the arrays, nor can you deallocate their storage without deallocating the entire struct instance. The absolute best you can do in this case is to write an empty &#8230; <a title=\"[Solved] Deleting all structure entries in C Programming\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/\" aria-label=\"More on [Solved] Deleting all structure entries in C Programming\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,413,1355],"class_list":["post-12038","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-function","tag-structure"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Deleting all structure entries in C Programming - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Deleting all structure entries in C Programming - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] The members of struct person are fixed in size, and are not allocated separately from the struct instance &#8211; short answer is that you cannot resize the arrays, nor can you deallocate their storage without deallocating the entire struct instance. The absolute best you can do in this case is to write an empty ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-29T04:50:56+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Deleting all structure entries in C Programming\",\"datePublished\":\"2022-09-29T04:50:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/\"},\"wordCount\":264,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"function\",\"structure\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/\",\"name\":\"[Solved] Deleting all structure entries in C Programming - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-29T04:50:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Deleting all structure entries in C Programming\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Deleting all structure entries in C Programming - JassWeb","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:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Deleting all structure entries in C Programming - JassWeb","og_description":"[ad_1] The members of struct person are fixed in size, and are not allocated separately from the struct instance &#8211; short answer is that you cannot resize the arrays, nor can you deallocate their storage without deallocating the entire struct instance. The absolute best you can do in this case is to write an empty ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/","og_site_name":"JassWeb","article_published_time":"2022-09-29T04:50:56+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Deleting all structure entries in C Programming","datePublished":"2022-09-29T04:50:56+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/"},"wordCount":264,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","function","structure"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/","url":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/","name":"[Solved] Deleting all structure entries in C Programming - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-29T04:50:56+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-deleting-all-structure-entries-in-c-programming\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Deleting all structure entries in C Programming"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/12038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=12038"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/12038\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=12038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=12038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=12038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}