c programming

Introduction to Pointers

What is Pointer

Pointers, C Programming Language में एक Fundamental Concept है, जो Efficient Memory Management और Manipulation के लिए एक Powerful Tool Provide करता है। C में Efficient और Optimize Code लिखने के लिए Pointer को समझना महत्वपूर्ण है।

Pointer एक Variable होता है, जो दूसरे Variable के Memory Address को Store करता है। Pointers, Actual Value रखने के बजाय उस Memory Location को “Point” करता है, जहां Value Stored है। Pointer, Memory Direct Access करने में सक्षम हैं, जिससे Efficient Memory Use हो सकता है| और यह Linked List और Dynamic Memory Allocation जैसी Complex Data Structure को भी Support करता है।

Declaring Pointers

C में एक Pointer Declare करने के लिए Variable Name से पहले Asterisk (*) Symbol का use करते हैं।

Syntax: 


data_type *pointer_name;

यहां, data_type उस Data के Type को Refer करता है, जिसे Pointer Point करेगा, और (pointer_name) Pointer Variable का नाम है।

Example


int *ptr;

Assigning Pointers

किसी Specific Memory Location पर Pointer Point बनाने के लिए, हम Existing Variable के साथ-साथ Operator (&) के Address का use करते हैं।

Syntax:


pointer_name = &variable_name;

Example


int num = 42;
int *ptr = #

Example Program


#include<stdio.h>
int main(){
int number=50;
int *p;
p=&number; 
printf(“Address of p variable is %x \n”,p);
printf(“Value of p variable is %d \n”,*p);   
return 0;
}

Output


Address of number variable is fff4
Address of p variable is fff4
Value of p variable is 50

NULL Pointers

यदि आपके पास Assign करने के लिए Exact Address नहीं है, तो Pointer Variable को NULL Value Assign करना हमेशा एक अच्छा Practice होता है। यह परिवर्तनशील Declaration के समय किया जाता है। एक Pointer जिसे NULL Assign किया गया है, उसे NULL Pointer कहा जाता है।

Example


#include <stdio.h>
int main(){
int *ptr = NULL;
printf
(“The value of ptr is : %x\n”, ptr);
return 0;
}

Output


The value of ptr is 0

Advantage of Pointer

Dynamic Memory Allocation

Pointer के सबसे Important Advantage में से एक Dynamic Memory Allocation को Facilitate बनाने की उनकी Ability है। C में, Variable के लिए Memory को Runtime के दौरान malloc(), calloc(), या realloc() जैसे Function का use करके Dynamically Allocate किया जा सकता है। यह Feature, Compile Time पर उनके Size को Predefine करने की आवश्यकता के बिना Linked Lists, Tree और Dynamic Array जैसे Data Structure के Creation को Enable बनाती है।

Efficient Memory Management

Pointer, Developers को Memory को Efficiently Manage करने की Permission देते हैं। Pointers आवश्यकतानुसार Memory को Dynamically रूप से Allocate और Deallocate कर सकते हैं| Memory Wastages को Reduce कर सकते हैं, और System Resource का बेहतर use कर सकते हैं। इसके अतिरिक्त, Pointer Variable के बीच Data की Copy बनाने के Overhead के बिना Efficient Data Manipulation को सक्षम करते हैं।

Tags: No tags

Add a Comment

Your email address will not be published. Required fields are marked *