This is to give you a welcome.
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{shapes.multipart,chains}
\begin{document}
\begin{tikzpicture}[mp/.style args={#1/#2}{rectangle split,rectangle split horizontal,
rectangle split parts=2,text width=2em,align=center,minimum height=2.2em,
on chain,draw,node contents={#1\nodepart[text width=3em]{two}#2}}]
\begin{scope}[start chain=going right,node distance=4em]
\node[on chain](C) {C};
\node (A1)[mp=4/~];
\node (A2)[mp=4/~];
\node (A3)[mp=6/Nil];
\end{scope}
\draw[very thick,|-latex] (C) -- (A1);
\foreach \X in {1,2}
{\draw[very thick,|-latex] (A\X.two north|-A\X) -- (A\the\numexpr\X+1);}
\end{tikzpicture}
\end{document}

For the future, please always post the code that you have tried, never use screen shots (or do you really expect others to punch in the text from these), nor links to codes (because these links may die, and it is generally not a good idea to follow random links on the internet). Also your screen shot depicts a code fragment. However, it is expected that one posts complete documents that start with \documentclass, end with \end{document}, are as minimal as possible, and can be compiled.
And here is an annotated version. Clearly, annotations won't be as detailed as the manual.
\documentclass[tikz,border=3mm]{standalone}
% we load two libraries. shapes.multipart allows us to draw partitioned boxes
% and chains makes it possible to place nodes along chains
\usetikzlibrary{shapes.multipart,chains}
\begin{document}
\begin{tikzpicture}[mp/.style args={#1/#2}{ %<- defines a style that takes 2 args
rectangle split,%<- we want a partitioned rectangle
rectangle split horizontal,%<- the partitions should be horizontal
rectangle split parts=2,%<- two partitions, please
text width=2em,%<- overall text width (we will change the second one
align=center,%<- texts should be centered
minimum height=2.2em,%<- selfexplantory
on chain,%<- puts them on the chain
draw,%<- draw node boundaries
node contents={#1\nodepart[text width=3em]{two}#2}}
]% ^ here we specify how the arguments are to be used
% whatever is before the / will go in the first part,
% what comes after in the second
\begin{scope}[start chain=going right,% start a chain growing to the right
node distance=4em]% distance between nodes
\node[on chain](C) {C};
\node (A1)[mp=4/~]; %<- use the mp style to create a node of name A1
% with first part 4 and second part just a space (standard trick)
\node (A2)[mp=4/~];
\node (A3)[mp=6/Nil];
\end{scope}
\draw[very thick,|-latex] (C) -- (A1);
\foreach \X in {1,2}
{\draw[very thick,|-latex] (A\X.two north|-A\X) -- (A\the\numexpr\X+1);
% ^ draws the arrow from the center of the right partition of node \X
% to node \X+1 (we need to evaluate \X+1, hence \the\numexpr)
}
\end{tikzpicture}
\end{document}
ADDENDUM: An extended comment/reply to lucky1928, who suggested to use join. It is a great idea but some extra treatment has to be applied to the first node.
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{shapes.multipart,chains}
\begin{document}
\begin{tikzpicture}[mp/.style args={#1/#2}{rectangle split,rectangle split horizontal,
rectangle split parts=2,text width=2em,align=center,minimum height=2.2em,
on chain,draw,join,node contents={#1\nodepart[text width=3em]{two}#2}}]
\begin{scope}[start chain=going right,node distance=4em,
every join/.style={very thick,|-latex,to path={(\tikztostart.two north|-\tikztostart) -- (\tikztotarget)}}]
\node[on chain,rectangle split,rectangle split horizontal,
rectangle split parts=2,inner xsep=0.5pt](C) {C};
\node (A1)[mp=4/~];
\node (A2)[mp=4/~];
\node (A3)[mp=6/Nil];
\end{scope}
\end{tikzpicture}
\end{document}

\end{figure}
– peachblossom Nov 19 '19 at 17:57\documentclass...parts. – Thruston Nov 19 '19 at 17:59