Pointers
Understanding Pointers in C Programming
Introduction to Pointers (पॉइंटर्स का परिचय)
Pointers variables होते हैं जो memory addresses को store करते हैं। ये memory को directly access करने की facility provide करते हैं।
Pointers are variables that store memory addresses. They provide the facility to directly access memory.
Key Points (मुख्य बिंदु):
- Pointers memory addresses को store करते हैं
- Pointers store memory addresses
- Pointer size system architecture पर depend करता है
- Pointer size depends on system architecture
- Pointers memory को efficiently manage करने में help करते हैं
- Pointers help in efficient memory management
Pointer Declaration and Initialization (पॉइंटर डिक्लेरेशन और इनिशियलाइजेशन)
Pointers को declare और initialize करने के तरीके:
Ways to declare and initialize pointers:
// Pointer declaration
int *ptr; // Pointer to integer
float *fptr; // Pointer to float
char *cptr; // Pointer to character
// Pointer initialization
int num = 10;
int *ptr = # // Stores address of num
// Pointer arithmetic
int arr[] = {1, 2, 3, 4, 5};
int *arr_ptr = arr; // Points to first element
arr_ptr++; // Points to next element
num = 10
→
ptr = &num
Pointer Operations (पॉइंटर ऑपरेशन्स)
Pointers पर perform किए जाने वाले operations:
Operations that can be performed on pointers:
// Dereferencing
int num = 10;
int *ptr = #
printf("%d", *ptr); // Prints 10
// Pointer arithmetic
int arr[] = {1, 2, 3, 4, 5};
int *ptr = arr;
printf("%d", *(ptr + 2)); // Prints 3
// Pointer comparison
int *ptr1 = &arr[0];
int *ptr2 = &arr[2];
if (ptr1 < ptr2) {
printf("ptr1 comes before ptr2");
}
Operation (ऑपरेशन) | Description (विवरण) | Example (उदाहरण) |
---|---|---|
Dereferencing | Pointer के address पर stored value को access करना | *ptr = 20 |
Dereferencing | Accessing value stored at pointer's address | *ptr = 20 |
Arithmetic | Pointer को increment/decrement करना | ptr++ |
Arithmetic | Incrementing/decrementing pointer | ptr++ |
Pointers and Arrays (पॉइंटर्स और ऐरे)
Pointers और arrays के बीच relationship:
Relationship between pointers and arrays:
// Array and pointer relationship
int arr[] = {1, 2, 3, 4, 5};
int *ptr = arr; // Points to first element
// Accessing array elements using pointers
printf("%d", *ptr); // First element
printf("%d", *(ptr + 1)); // Second element
// Array name as pointer
printf("%d", *arr); // First element
printf("%d", *(arr + 2)); // Third element
// Pointer to array
int (*ptr_to_arr)[5] = &arr; // Pointer to array of 5 integers
Best Practices (सर्वोत्तम प्रथाएं)
Pointers के साथ काम करने के best practices:
Best practices for working with pointers: