bpo-36971: add subsections in C API "Common Object Structures" page (#13446)

diff --git a/Doc/c-api/structures.rst b/Doc/c-api/structures.rst
index d4e65af..af79777 100644
--- a/Doc/c-api/structures.rst
+++ b/Doc/c-api/structures.rst
@@ -9,6 +9,10 @@
 object types for Python.  This section describes these structures and how they
 are used.
 
+
+Base object types and macros
+----------------------------
+
 All Python objects ultimately share a small number of fields at the beginning
 of the object's representation in memory.  These are represented by the
 :c:type:`PyObject` and :c:type:`PyVarObject` types, which are defined, in turn,
@@ -102,6 +106,9 @@
       1, type, size,
 
 
+Implementing functions and methods
+----------------------------------
+
 .. c:type:: PyCFunction
 
    Type of the functions used to implement most Python callables in C.
@@ -271,6 +278,9 @@
    than wrapper object calls.
 
 
+Accessing attributes of extension types
+---------------------------------------
+
 .. c:type:: PyMemberDef
 
    Structure which describes an attribute of a type which corresponds to a C