{ "metadata": { "name": "", "signature": "sha256:44f5daf77255992c95710d94f062b0f1f1e981b9e6cce07f23ed45a322c4b130" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 14 : Accessing Variable through Pointers" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example: 1, Page Number: 5.107 " ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Program to accessing through variable pointer\n", "\n", "from ctypes import c_int\n", "\n", "#Local definition\n", "a = 22\n", "a = c_int(a) # ctype datatype declaration\n", "\n", "b = 2.25\n", "b = c_float(b) # ctype datatype declaration\n", "\n", "#Pointer variables\n", "a_po=pointer(a)\n", "b_po=pointer(b)\n", "\n", "# 'id' is a address of letter and it represents the address of the variable\n", "a = id(a)\n", "b = id(b)\n", "\n", "\n", "#Result\n", "print \"\\nValue of a = %d\" %a_po[0]\n", "print \"\\nValue of b = %.2f\" %b_po[0]\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Value of a = 22\n", "\n", "Value of b = 2.25\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example: 2, Page Number: 5.108" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Program to print address and value of variable\n", "\n", "from ctypes import c_int\n", "\n", "#Local definition\n", "a = 22\n", "a = c_int(a) # ctype datatype declaration\n", "\n", "#Pointer variables\n", "a_po=pointer(a)\n", "\n", "# 'id' is a address of letter and it represents the address of the variable\n", "a = id(a)\n", "\n", "#Result\n", "print \"\\n Value of a = %d\" %a_po[0]\n", "print \"\\n Address of a = %u\" %id(a)\n", "print \"\\n Value at address %u = %d\" %(id(a),a_po[0])\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", " Value of a = 22\n", "\n", " Address of a = 4344066728\n", "\n", " Value at address 4344066728 = 22\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example: 3, Page Number: 5.108" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Program to print value and address of variable\n", "\n", "from ctypes import c_int\n", "\n", "#Local definition\n", "a = 22\n", "b = c_int(a) # ctype datatype declaration\n", "\n", "#Pointer variable\n", "b_po=pointer(b)\n", "\n", "# 'id' is a address of letter and it represents the address of the variable\n", "b = id(a)\n", "\n", "#Result\n", "print \"\\n Value of a = %d\" %a\n", "print \"\\n Value of a = %d\" %(c_int(a).value)\n", "print \"\\n Value of a = %d\" %b_po[0]\n", "print \"\\n Address of a = %u\" %id(a)\n", "print \"\\n Address of a = %u\" %b\n", "print \"\\n Address of a = %u\" %id(b)\n", "print \"\\n Value of b = address of a = %u\" %b" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", " Value of a = 22\n", "\n", " Value of a = 22\n", "\n", " Value of a = 22\n", "\n", " Address of a = 4298180848\n", "\n", " Address of a = 4298180848\n", "\n", " Address of a = 4344066728\n", "\n", " Value of b = address of a = 4298180848\n" ] } ], "prompt_number": 10 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example: 4, Page Number: 5.109" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#Program to illustrate pointer to pointer\n", "\n", "from ctypes import c_int\n", "\n", "#Local definition\n", "a = 22\n", "b = c_int(a) # ctype datatype declaration\n", "c = c_int(a) # ctype datatype declaration\n", "\n", "#Pointer variable\n", "b_po = pointer(b)\n", "c_po = pointer(b_po) # c_po is a pointer to another pointer\n", "\n", "# 'id' is a address of letter and it represents the address of the variable\n", "b = id(a)\n", "c = id(b)\n", "\n", "#Result\n", "print \"\\n Value of a is %d\" %a\n", "print \"\\n Value of a is %d\" %(c_int(a).value)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", " Value of a is 22\n", "\n", " Value of a is 22\n" ] } ], "prompt_number": 14 } ], "metadata": {} } ] }