💻
C - Structured Programming Language
  • C - Structured Programming Language
  • Structured Programming Language
    • Chapter 0: Overview
      • Overview of Programming
      • Overview of C Programming
      • History of C Programming
      • IDE - Code::Blocks
      • New File Creation and Managing Program Files in Folders
      • C Program Basic Structure
      • Sections of the C Program
      • Steps for Using a Program
      • Flow of a Program Execution
      • First C Program - Hello World
      • Comment
      • Lexical Elements (/Tokens)
      • Keywords
      • Character Set
    • Chapter 1: Data Type, IO
      • Data Type
      • Variable
        • Variable Declaration for Primitive Data Type
        • Variable Address and Input
        • Constant and Macro
        • Variable Scope and Lifetime
        • Variable Storage Type
        • Variable Declaration Vs Definition Vs Initialization
        • Variable Default Value
        • Identifier Naming Rules and Conventions
      • Primitive Data Type: Format Specifier and Size
      • Literals
      • Primitive Data Type: Input Output
        • Input Output Function
        • Integer IO
        • Real Number IO
        • Character IO
        • String IO
        • Formatted Output
        • Formatted Input
        • Return of Scanf and Printf
      • IO Error
      • Escape Sequence / Backslash Characters
      • Data Type Modifiers
        • Data Type Size and Format Specifier
        • Input Output Using Modifiers
      • Data Type Limit
        • Integer Number
        • Floating Point Number
      • Memory Segment
      • Type Casting
      • Declaration of Derived Data Type
        • Array
        • Pointer
        • Function
        • Structure
        • Union
      • Declaration of User Defined Data Type
        • Enumeration
          • Enum Constant Value
          • Enumeration Exercise
        • Typedef
      • Declaration of Other Data Type
        • Boolean
        • Complex and Imaginary Number
        • File
        • Clock and Time
    • Chapter 2: Operator
      • Types of Operators
      • Assignment Operator
      • Arithmetic Operators
        • Math Operation
      • Increment, Decrement Operators
      • Relational Operators
      • Logical Operators
      • Bitwise Operators
      • Miscellaneous Operators
      • Operator Precedence and Associativity
      • Programming Syntax & Expression
      • Operator Exercise
    • Chapter 3: Conditional Statement
      • Truth Value
      • If Else Exercise
        • Zero, Positive, Negative - Number Sign Test
        • Voting Eligibility
        • Complex Numbers Equality
        • Different Example
          • Print a Digit into Word
          • Grade Evaluation
          • FizzBuzz
          • EVEN or ODD
          • Leap Year
          • Maximum of 2 Numbers
          • Maximum of 3 Numbers
          • Minimum of 2 Numbers
          • Minimum of 3 Numbers
      • Ternary Operator
        • Ternary Operator Exercise
      • Switch Statement
        • Switch Statement Exercise
    • Chapter 4: Loop
      • Loop Basic
      • Series Printing using Loop
      • Summation and Factorial
      • Loop Exercise
      • Number Theory
      • Break and Continue
      • Nested Loop
      • Managing Test Case
      • Goto Statement
    • Chapter 5: Pointer and Dynamic Memory Allocation
      • Pointer Fundamental Concept
        • Pointer Declaration
        • Types of Pointer
        • Pointer for Primitive Data Types
        • Pointer Referencing, Initialization, Accessing, Dereferencing
        • Pointer Size
      • Pointer Operation
        • Value Assignment/Update
        • Pointer Input Output
        • Pointer and Operator
          • Assignment Operator
          • Arithmetic Operator
          • Increment/Decrement Operator
          • Relational Operator
        • Pointer and Flow Control
      • Multilevel Pointer
      • Dynamic Memory Allocation (DMA)
        • Dynamic Memory Allocation (DMA)
        • DMA for Primitive Data Types
        • Pointer Operation after DMA
    • Chapter 6: Function & Recursion
      • Type of Function
      • Function Exercise
      • Conditional Statement and Function
      • Loop Exercise using Function
      • Pointer and Function
      • Recursion
        • Example
        • Pointer
    • Chapter 7: Array
      • Array Fundamental Concept
        • Necessity
        • Declaration (1D Array)
        • Initialization
        • Access
        • Assignment
        • Address
        • User Input
          • Test Case
      • Function and Array
      • Basic Array Operation
        • Statistical Operations
          • Summation
          • Average (Mean), Median
          • Frequency Table, Mode
          • Standard Deviation, Variance
          • Covariance, Correlation
        • Searching
          • Linear Search
          • Binary Search
          • Maximum
          • Minimum
        • Update
          • Index Based
          • Element Based
        • Delete
          • Index Based
          • Element Based
        • Insert
          • Index Based
          • Element Based
        • Sorting
          • Selection Sort
          • Insertion Sort
          • Bubble Sort
      • Other Array Operation
        • Copy
        • Reverse
        • Compare
        • Merge
        • Split
        • Cyclic Permutation
      • Pointer and Array
        • Basic
        • Insert
        • Delete
        • Summation
        • Reverse
        • Compare
        • Merge
        • Split
        • Cyclic Permutation
      • Pointer and Array
      • DMA and Array
      • 2D Array
    • Chapter 8: Character and String
      • Character
        • Declaration and Initialization
        • ASCII Code
        • Input Output
        • Conditional Statement
        • Character Arithmetic
      • String
        • String Declaration and Initialization
        • Input Output
        • Character Count in String
        • Character Conversion in String
        • String Operations
          • Substring
      • String and Pointer
    • Chapter 9: Structure
      • Basic of Structure
      • Structure Pointer
      • Function and Structure
      • Nested Structure
      • DMA and Structure
    • Chapter 10: File
    • Miscellaneous
      • Working with Math Functions
      • Working with Time Functions
      • Union
      • Preprocessor
      • Custom Header File
      • Error Handling
      • Graphics
      • Other
      • Coding Convention
      • Identifiers (Variable, Function & Structure) Naming Convention
      • Sizeof
      • Exit, Abort
      • Assert
    • Reference
      • Online Learning Material
  • Exercise
    • Problem Set 0: IDE, First C Program - 4
    • Problem Set 1: Data Types, IO - 55
      • Data Type, Variable, Format Specifier, Input, Output, String - 33
      • Data Type, Input, Output - 8
      • Data Type, Data Type Modifier, Format Specifier, Size, Limit, Address - 9
      • Formatted Input-Output - 4
    • Problem Set 2: Operator - 108
      • 2.1 Assignment Operator - 11
      • 2.2 Arithmetic Operator - 73
        • 2.2.1 Arithmetic Operator [5]
        • 2.2.2 Arithmetic Operator Exercise [10]
        • 2.2.3 Scale Conversion [25]
        • 2.2.4 Geometrical Shapes [35]
      • Bitwise Operator - 11
      • Use of Library Functions - 23
    • Problem Set 3: Conditional Statements - 47
    • Problem Set 4: Loop - 124
      • Sequence and Series - 33
      • More Loop Exercise - 52
      • Test Case - 7
      • Loop Nested - 32
    • Problem Set 5: Pointer and Dynamic Memory Allocation
      • Pointer Exercise
    • Problem Set 6: Function and Recursion - 42
      • Recursion
    • Problem Set 7: Array
      • One Dimensional Array - 114
      • Two Dimensional Array
    • Problem Set 8: Character and String - 61
      • Character - 29
      • String - 32
    • Problem Set 9: Structure
    • Problem Set 10: File
  • Solution
    • 0: IDE, First C Program
    • 1: Data Types, IO
    • 2: Operator
      • 2.1 Assignment Operator
      • 2.2 Arithmetic Operator
    • 3: Conditional Statements
      • 3.1 Conditional Statement
      • 3.2 Relational Operator
      • 3.3 Logical Operator
      • 3.4 Max, Min Median, Sorting
      • 3.5 Divisibility
    • 4: Loop
      • 4.1.1 Loop (Repetition)
      • 4.1.2 Print Sequence
      • 4.1.3 Summation of Series
      • 4.2 Loop Exercise
    • 5: Pointer and Dynamic Memory Allocation
    • 6: Function and Recursion
      • 5.1 Types of User Defined Function
      • 5.2 Exercise - Function
    • 7: Array
    • 8: Character and String
      • 7.1 Character Basic
      • 7.2 Character Input
      • 7.3 ASCII Code
      • 7.4 Character Test
      • 7.5 Character Conversion
      • 7.6 Character Arithmetic Operation
    • 9: Structure
    • 10: File
Powered by GitBook
On this page
  1. Exercise
  2. Problem Set 5: Pointer and Dynamic Memory Allocation

Pointer Exercise

Solve the problems once with the pointer (using variable address), and once with Dynamic Memory Allocation (DMA). Remember you must deallocate memory after working with dynamic memory allocation.

N:B: You can only declare variable to assign the address in the pointer, all value assignment, and access must be done by the pointer.

Problem Set 10.1: Pointer, Dynamic Memory Allocation

  1. Declare different types of pointer.

    • Wild Pointer

    • NULL Pointer

    • Void Pointer

    • Dangling Pointer [Only for DMA]

  2. Do Basic Pointer Operation for different primitive data types (int, float, double, char). [N.B: Make separate file for each data type]

    • Declare the Pointer. [Declare necessary variable or dynamic memory allocation]

    • Assign constant value using the pointer.

    • Print variable value and address using the variable name. [Not possible in DMA]

    • Print variable value and address using the pointer.

    • Print the address of the pointer.

  3. Take user input using different primitive data types. [You must print the address of pointer and the reference address the pointer referencing]

    1. Input an integer number using pointer and print the value using pointer.

    2. Input a float number using pointer and print the value using pointer.

    3. Input a double number using pointer and print the value using pointer.

    4. Input a character using pointer and print the value using pointer.

    5. Input a string using pointer and print the value using pointer.

  4. Solve the following problem using Pointer.

    1. Swap two numbers.

  5. Do the following different Arithmetic Operation using the Pointer.

    1. Find the Summation of two numbers.

    2. Find the Difference between two numbers.

    3. Find the Product of two numbers.

    4. Find the Quotient of two numbers.

    5. Find the Reminder of two numbers.

    6. Find the Average of three numbers.

    7. Find the Area of a Triangle using Base and Height.

    8. Find the Area of a Triangle using the length of 3 sides.

    9. Find the Area of a Circle using Radius.

    10. Convert Temperature Celsius to Fahrenheit.

    11. Convert Temperature Fahrenheit to Celsius.

  6. Do the following different Conditional Operation using the Pointer.

    1. Find Pass/Fail. [Consider 40 as lower limit of pass mark, mark range 0 to 100]

    2. Find Voter or Not Voter. [Consider 18 as lower limit of voter age, age range any whole numbers]

    3. Determining whether a number is EVEN or ODD?

    4. Find the Maximum between 2 numbers.

    5. Find the Minimum between 2 numbers.

    6. Is a number Positive/ Negative/ Zero?

    7. Find the Maximum between 3 numbers.

    8. Find the Minimum between 3 numbers.

    9. Check is a year Leap Year or Not.

    10. Find Grade of Exam.

    11. Print a digit into a word.

  7. Do the following different Loop Operation using the Pointer.

    1. Printing the following Series

      1. 1, 2, 3, 4, ⋯⋯⋯, N

      2. 1, 3, 5, 7, ⋯⋯⋯, 99

      3. 2, 4, 6, 8, ⋯⋯⋯, N

      4. 1, 1, 2, 3, 5, 8, 13, 21, 34, ⋯⋯⋯, N

    2. Calculate the Summation or Factorial of the following Series

      1. 1 + 2 + 3 + 4 + ⋯⋯ + N

      2. 1 + 3 + 5 + 7 + ⋯⋯⋯ + N

      3. 2 + 4 + 6 + 8 + ⋯⋯⋯ + N

      4. 1^2 + 3^2 + 5^2 + 7^2 + ⋯⋯⋯ + (101)^2

      5. 2^3 + 4^3 + 6^3 + 8^3 + ⋯⋯⋯ + N^3

      6. N! = 1.2.3.4. ⋯⋯⋯ .N

  8. Different Operator uses using the Pointer. [Exercise will be added later]

    • Augmented Assignment

    • Bit Wise

    • Increment, Decrement

    • Operator Precedence and Associativity

  9. Do the following Array Operation Using Pointer

    1. Input and print Array (1D, 2D) using Pointer.

    2. Copy one array to another using Pointer.

    3. Swap two arrays using Pointer.

    4. Reverse an array using Pointer.

    5. Search an element in array using Pointer.

    6. Add, Subtract, Multiply two matrix using Pointer.

    7. Find length of string using Pointer.

    8. Copy one string to another using Pointer.

    9. Concatenate two strings using Pointer.

    10. Compare two strings using Pointer.

    11. Find reverse of a string using Pointer.

    12. Sort an Array using Pointer.

    13. Return multiple value from function using Pointer.

  10. Dynamic Memory Allocation for derived data types. [Exercise will be added later]

    • Array

    • Structure, Union

PreviousProblem Set 5: Pointer and Dynamic Memory AllocationNextProblem Set 6: Function and Recursion - 42

Last updated 11 months ago