summaryrefslogtreecommitdiff
path: root/Teach_Yourself_C_in_24_Hours/hour11.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Teach_Yourself_C_in_24_Hours/hour11.ipynb')
-rwxr-xr-xTeach_Yourself_C_in_24_Hours/hour11.ipynb221
1 files changed, 221 insertions, 0 deletions
diff --git a/Teach_Yourself_C_in_24_Hours/hour11.ipynb b/Teach_Yourself_C_in_24_Hours/hour11.ipynb
new file mode 100755
index 00000000..49cab5a2
--- /dev/null
+++ b/Teach_Yourself_C_in_24_Hours/hour11.ipynb
@@ -0,0 +1,221 @@
+{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:5ac60189d3032c0d9eeb79f16671ba934dceed86c00074ca1744202c056c8dca"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Hour 11: Understanding Pointers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.1, Page No 178"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "c=chr\n",
+ "x=int\n",
+ "y=float\n",
+ "\n",
+ "print \"Address=\"+str(id(c))+\" Content=\"+str(c)\n",
+ "print \"Address=\"+str(id(x))+\" Content=\"+str(x)\n",
+ "print \"Address=\"+str(id(y))+\" Content=\"+str(y)\n",
+ "\n",
+ "c='A'\n",
+ "x=7\n",
+ "y=123.45\n",
+ "\n",
+ "print \"Address=\"+str(id(c))+\" Content=\"+str(c)\n",
+ "print \"Address=\"+str(id(x))+\" Content=\"+str(x)\n",
+ "print \"Address=\"+str(id(y))+\" Content=\"+str(y)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Address=19935400 Content=<built-in function chr>\n",
+ "Address=505552912 Content=<type 'int'>\n",
+ "Address=505547744 Content=<type 'float'>\n",
+ "Address=20542336 Content=A\n",
+ "Address=20177304 Content=7\n",
+ "Address=41743224 Content=123.45\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.2, Page No 180"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "c=chr\n",
+ "x=int\n",
+ "y=float\n",
+ "prt_c=chr\n",
+ "ptr_x=int\n",
+ "ptr_y=float\n",
+ "\n",
+ "c='A'\n",
+ "x=7\n",
+ "y=123.45\n",
+ "\n",
+ "print \"C: Address=\"+str(id(c))+\" Content=\"+str(c)\n",
+ "print \"X: Address=\"+str(id(x))+\" Content=\"+str(x)\n",
+ "print \"Y: Address=\"+str(id(y))+\" Content=\"+str(y)\n",
+ "\n",
+ "ptr_c=id(c)\n",
+ "print \"ptr_c: Address=\"+str(id(ptr_c))+\" Content=\"+str(ptr_c)\n",
+ "print \"*ptr_c -> \"+str(c)\n",
+ "\n",
+ "ptr_x=id(x)\n",
+ "print \"ptr_x: Address=\"+str(id(ptr_x))+\" Content=\"+str(ptr_x)\n",
+ "print \"*ptr_x -> \"+str(x)\n",
+ "\n",
+ "ptr_y=id(y)\n",
+ "print \"ptr_y: Address=\"+str(id(ptr_y))+\" Content=\"+str(ptr_y)\n",
+ "print \"*ptr_y -> \"+str(y)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C: Address=20542336 Content=A\n",
+ "X: Address=20177304 Content=7\n",
+ "Y: Address=41743208 Content=123.45\n",
+ "ptr_c: Address=42208720 Content=20542336\n",
+ "*ptr_c -> A\n",
+ "ptr_x: Address=42206796 Content=20177304\n",
+ "*ptr_x -> 7\n",
+ "ptr_y: Address=42206784 Content=41743208\n",
+ "*ptr_y -> 123.45\n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.3, Page No 183"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "c=chr\n",
+ "ptr_c=chr\n",
+ "\n",
+ "c='A'\n",
+ "print \"C: Address=\"+str(id(c))+\" Content=\"+str(c)\n",
+ "\n",
+ "ptr_c=id(c)\n",
+ "print \"ptr_c: Address=\"+str(id(ptr_c))+\" Content=\"+str(ptr_c)\n",
+ "print \"*ptr_c -> \"+str(c)\n",
+ "\n",
+ "ptr_c='B'\n",
+ "print \"ptr_c: Address=\"+str(id(ptr_c))+\" Content=\"+str(ptr_c)\n",
+ "print \"*ptr_c -> \"+str(ptr_c)\n",
+ "\n",
+ "print \"C: Address=\"+str(id(c))+\" Content=\"+str(c)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "C: Address=20542336 Content=A\n",
+ "ptr_c: Address=42206808 Content=20542336\n",
+ "*ptr_c -> A\n",
+ "ptr_c: Address=20342424 Content=B\n",
+ "*ptr_c -> B\n",
+ "C: Address=20542336 Content=A\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 11.4, Page No 185"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "x=1234\n",
+ "print \"X: address=\"+str(id(x))+\" Content=\"+str(x)\n",
+ "\n",
+ "ptr_1=id(x)\n",
+ "print \"ptr_1: Address=\"+str(id(ptr_1))+\" Content=\"+str(ptr_1)\n",
+ "print \"*ptr_1 -> \"+str(ptr_1)\n",
+ "\n",
+ "ptr_2=id(x)\n",
+ "print \"ptr_2: Address=\"+str(id(ptr_2))+\" Content=\"+str(ptr_2)\n",
+ "print \"*ptr_2 -> \"+str(ptr_2)\n",
+ "\n",
+ "ptr_3=ptr_1\n",
+ "print \"ptr_3: Address=\"+str(id(ptr_3))+\" Content=\"+str(ptr_3)\n",
+ "print \"*ptr_3 -> \"+str(ptr_3)\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "X: address=42206832 Content=1234\n",
+ "ptr_1: Address=42206928 Content=42206832\n",
+ "*ptr_1 -> 42206832\n",
+ "ptr_2: Address=42206916 Content=42206832\n",
+ "*ptr_2 -> 42206832\n",
+ "ptr_3: Address=42206928 Content=42206832\n",
+ "*ptr_3 -> 42206832\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+} \ No newline at end of file