

{"id":123509,"date":"2024-02-26T18:00:20","date_gmt":"2024-02-26T12:30:20","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=123509"},"modified":"2024-03-09T13:56:43","modified_gmt":"2024-03-09T08:26:43","slug":"pointers-to-an-array-in-c","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/","title":{"rendered":"Pointers to an Array in C"},"content":{"rendered":"<p>In the realm of C programming, understanding the dynamics of pointers and arrays is akin to wielding the master key to the language&#8217;s power. Among the most potent tools at your disposal are pointers to arrays in c, which unlock a treasure trove of efficiency and flexibility.<\/p>\n<p>This article delves deep into the intricacies of pointers to arrays in C, providing not just theoretical insights but practical examples to illuminate the path.<\/p>\n<h2>Pointer to Array Basics in C<\/h2>\n<p>Let&#8217;s commence our journey with a comprehensive understanding of pointers to arrays. A pointer in C is a variable that stores the memory address of another variable, but when it comes to pointers to arrays, the scope broadens significantly, allowing us to manipulate entire arrays with remarkable efficiency.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;stdio.h&gt;\r\n\r\nint main() {\r\n    int arr[5] = {1, 2, 3, 4, 5};\r\n    int *ptr = arr;  \/\/ Pointer to the first element of the array\r\n    \r\n    printf(\"Value at arr[0]: %d\\n\", *ptr);  \/\/ Output: Value at arr[0]: 1\r\n    return 0;\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nValue at arr[0]: 1<\/p>\n<p>In the code snippet above, we declare an integer array arr and a pointer ptr that points to the first element of the array. By dereferencing ptr, we access the value stored in arr[0].<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/Pointer-to-Array-Basics.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-130549 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/Pointer-to-Array-Basics.webp\" alt=\"Pointer to Array Basics\" width=\"400\" height=\"210\" \/><\/a><\/p>\n<h3>Comparison of Base Types<\/h3>\n<p>An essential aspect to comprehend when dealing with pointers is the base type. Pointers to different data types possess different base types.<\/p>\n<p><strong>Let&#8217;s explore this with a practical example<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;stdio.h&gt;\r\n\r\nint main() {\r\n    int arr[5] = {1, 2, 3, 4, 5};\r\n    int *ptr = arr;\r\n    \r\n    printf(\"Size of int pointer: %lu\\n\", sizeof(ptr));  \/\/ Output: Size of int pointer: 8\r\n    printf(\"Size of dereferenced int pointer: %lu\\n\", sizeof(*ptr));  \/\/ Output: Size of dereferenced int pointer: 4\r\n    return 0;\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nSize of int pointer: 8<br \/>\nSize of dereferenced int pointer: 4<\/p>\n<p>In this example, we demonstrate the difference in size between a pointer to an integer and the integer it points to. On most 64-bit systems, the size of the pointer ptr is 8 bytes, while the size of *ptr is 4 bytes, mirroring the size of an integer.<\/p>\n<h3>Dereferencing Pointers to Arrays in C<\/h3>\n<p>Understanding dereferencing is pivotal. When we dereference a pointer to an array, we obtain the base address of the array.<\/p>\n<p><strong>Let&#8217;s illustrate this concept:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;stdio.h&gt;\r\n\r\nint main() {\r\n    int arr[5] = {1, 2, 3, 4, 5};\r\n    int *ptr = arr;  \/\/ Pointer to the first element of the array\r\n    \r\n    printf(\"Address of arr[0]: %p\\n\", ptr);  \/\/ Output: Address of arr[0]: 0x7fff4f32fd50\r\n    return 0;\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\n<strong>Address of arr[0]:<\/strong> 0x7fff4f32fd50<\/p>\n<p>In this code snippet, we employ the %p format specifier to print the memory address pointed to by ptr. Dereferencing ptr provides us with the base address of arr.<\/p>\n<h3>Sizes of Pointers to Arrays in C<\/h3>\n<p>Understanding the sizes of pointers and their dereferenced values is pivotal for efficient memory management and coding.<\/p>\n<p><strong> Let&#8217;s delve into this with a practical demonstration:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;stdio.h&gt;\r\n\r\nint main() {\r\n    int arr[] = {3, 5, 6, 7, 9};\r\n    int *p = arr;\r\n    \r\n    printf(\"Size of int pointer: %lu\\n\", sizeof(p));  t pointer: 8\r\n    printf(\"Size of dereferenced int pointer: %lu\\n\", sizeof(*p));     \r\n    int (*ptr)[5] = &amp;arr;\r\n    \r\n    printf(\"Size of pointer to int array: %lu\\n\", sizeof(ptr));     \r\n    printf(\"Size of dereferenced pointer to int array: %lu\\n\", sizeof(*ptr));     \r\n    return 0;\r\n}<\/pre>\n<p><strong>Output:<\/strong><br \/>\nSize of int pointer: 8<br \/>\nSize of dereferenced int pointer: 4<br \/>\nSize of pointer to int array: 8<br \/>\nSize of dereferenced pointer to int array: 20<\/p>\n<p>In this code, we introduce a pointer p to an integer and some other pointer ptr to an array of 5 integers. We exhibit the variations in size among these tips and their dereferenced values.<\/p>\n<h3>Pointer to Multidimensional Arrays in C<\/h3>\n<p>Our journey now takes us into the enthralling realm of pointers to multidimensional arrays, particularly focusing on two-dimensional arrays.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;stdio.h&gt;\r\n\r\nint main() {\r\n    int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};\r\n    \r\n    int *p = arr[0];  \/\/ Pointer to the first element of the 2-D array\r\n    \r\n    printf(\"Value at arr[0][0]: %d\\n\", *p);  \/\/ Output: Value at arr[0][0]: 1\r\n    \r\n    int (*ptr)[4] = arr;  \/\/ Pointer to the entire 2-D array\r\n    \r\n    printf(\"Value at arr[0][0]: %d\\n\", (*ptr)[0]);  \/\/ Output: Value at arr[0][0]: 1\r\n    \r\n    return 0;\r\n}<\/pre>\n<p>In this code snippet, we create a pointer p that points to the first element of the 2-D array arr. Additionally, we introduce a pointer ptr that points to the entire 2-D array. Both pointers enable us to access the elements of the array efficiently.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/Pointer-to-Multidimensional-Arrays.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-130550 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/Pointer-to-Multidimensional-Arrays.webp\" alt=\"Pointer to Multidimensional Arrays\" width=\"400\" height=\"210\" \/><\/a><\/p>\n<h3><\/h3>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2024\/02\/pointer-to-multidimensional-arrays.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-134509 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2024\/02\/pointer-to-multidimensional-arrays.webp\" alt=\"pointer to multidimensional arrays\" width=\"600\" height=\"315\" \/><\/a><\/p>\n<h3>Pointer Arithmetic in Multidimensional Arrays<\/h3>\n<p>Understanding pointer arithmetic is pivotal for navigating multidimensional arrays with ease.<\/p>\n<p><strong>Let&#8217;s see how it functions:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;stdio.h&gt;\r\n\r\nint main() {\r\n    int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};\r\n    \r\n    int (*ptr)[4] = arr;  \/\/ Pointer to the entire 2-D array\r\n    \r\n    printf(\"Value at arr[1][2]: %d\\n\", ptr[1][2]);  \/\/ Output: Value at arr[1][2]: 7\r\n    printf(\"Value at arr[2][3]: %d\\n\", ptr[2][3]);  \/\/ Output: Value at arr[2][3]: 12\r\n    \r\n    return 0;\r\n}<\/pre>\n<p>Here, we demonstrate how pointer arithmetic simplifies the process of accessing individual elements of a 2-D array.<\/p>\n<h3>Subscripting Pointer to an Array<\/h3>\n<p>To complete our exploration, let&#8217;s delve into subscripting pointers to arrays, specifically within the context of a 2-D array.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">#include &lt;stdio.h&gt;\r\n\r\nint main() {\r\n    int arr[3][4] = {{10, 11, 12, 13}, {20, 21, 22, 23}, {30, 31, 32, 33}};\r\n    int (*ptr)[4];\r\n    ptr = arr;\r\n    \r\n    printf(\"Value at arr[1][2]: %d\\n\", ptr[1][2]);  \/\/ Output: Value at arr[1][2]: 22\r\n    \r\n    return 0;\r\n}<\/pre>\n<p>In this code snippet, we declare a 2-D array arr and a pointer ptr to an array of 4 integers. By assigning arr to ptr, we enable subscripting to access elements of the 2-D array efficiently.<\/p>\n<h3>Conclusion<\/h3>\n<p>Our adventure via pointers to arrays in C programming has traversed the foundational aspects, delved into the nuances of pointer mathematics, illuminated the sizes of tips, and unveiled the mysteries of multidimensional arrays. Equipped with this profound know-how, you may harness the full capability of recommendations to create efficient, dynamic, and effective C applications.<\/p>\n<p>As you preserve your programming odyssey, bear in mind that tips aren&#8217;t simply tools; they are the important thing to unlocking the real capabilities of the C language.<\/p>\n<p>This detailed exploration of pointers to arrays in C serves as a solid foundation for further studies in C programming and provides a deep understanding of how to optimize your code for performance and efficiency.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the realm of C programming, understanding the dynamics of pointers and arrays is akin to wielding the master key to the language&#8217;s power. Among the most potent tools at your disposal are pointers&#46;&#46;&#46;<\/p>\n","protected":false},"author":86671,"featured_media":131851,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19488],"tags":[29989,29988,29987,23914,29990,29986],"class_list":["post-123509","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-programming","tag-array-of-pointers-in-c","tag-c-pointers-to-an-array","tag-c-prcatical","tag-c-programming","tag-pointers-to-an-array","tag-pointers-to-an-array-in-c"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pointers to an Array in C - DataFlair<\/title>\n<meta name=\"description\" content=\"Pointers to arrays in C serve as a solid foundation for further studies in C programming and provide a deep understanding of how to optimize your code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pointers to an Array in C - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Pointers to arrays in C serve as a solid foundation for further studies in C programming and provide a deep understanding of how to optimize your code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-26T12:30:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-09T08:26:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/pointer-with-array-in-c.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pointers to an Array in C - DataFlair","description":"Pointers to arrays in C serve as a solid foundation for further studies in C programming and provide a deep understanding of how to optimize your code.","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:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/","og_locale":"en_US","og_type":"article","og_title":"Pointers to an Array in C - DataFlair","og_description":"Pointers to arrays in C serve as a solid foundation for further studies in C programming and provide a deep understanding of how to optimize your code.","og_url":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2024-02-26T12:30:20+00:00","article_modified_time":"2024-03-09T08:26:43+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/pointer-with-array-in-c.webp","type":"image\/webp"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/0e594f928e31fc96628ac40f6ae74f49"},"headline":"Pointers to an Array in C","datePublished":"2024-02-26T12:30:20+00:00","dateModified":"2024-03-09T08:26:43+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/"},"wordCount":708,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/pointer-with-array-in-c.webp","keywords":["array of pointers in c","c pointers to an array","c prcatical","c programming","pointers to an array","pointers to an array in c"],"articleSection":["C Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/","url":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/","name":"Pointers to an Array in C - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/pointer-with-array-in-c.webp","datePublished":"2024-02-26T12:30:20+00:00","dateModified":"2024-03-09T08:26:43+00:00","description":"Pointers to arrays in C serve as a solid foundation for further studies in C programming and provide a deep understanding of how to optimize your code.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/pointer-with-array-in-c.webp","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2023\/11\/pointer-with-array-in-c.webp","width":1200,"height":628,"caption":"pointer with array in c"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/pointers-to-an-array-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"C Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/c-programming\/"},{"@type":"ListItem","position":3,"name":"Pointers to an Array in C"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/0e594f928e31fc96628ac40f6ae74f49","name":"TechVidvan Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c89190da3d4010c71ba476b618ab10fdc2335c82cdfa0ad5002d98d0f2473444?s=96&d=mm&r=g","caption":"TechVidvan Team"},"description":"TechVidvan Team provides high-quality content &amp; courses on AI, ML, Data Science, Data Engineering, Data Analytics, programming, Python, DSA, Android, Flutter, full stack web dev, MERN, and many latest technology.","url":"https:\/\/data-flair.training\/blogs\/author\/test001\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/123509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/86671"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=123509"}],"version-history":[{"count":9,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/123509\/revisions"}],"predecessor-version":[{"id":134510,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/123509\/revisions\/134510"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/131851"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=123509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=123509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=123509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}