在C語言中,current
指針通常用于表示當前正在處理的數據結構元素
鏈表遍歷:
在遍歷鏈表時,current
指針用于指向當前正在處理的節點。例如:
struct Node {
int data;
struct Node* next;
};
void printList(struct Node* head) {
struct Node* current = head;
while (current != NULL) {
printf("%d ", current->data);
current = current->next;
}
}
動態數組:
在使用動態數組(如數組的大小可以在運行時改變)時,current
指針可以用于指向當前正在處理的元素。例如:
#include<stdio.h>
#include <stdlib.h>
int main() {
int n, i;
printf("Enter the number of elements: ");
scanf("%d", &n);
int* arr = (int*)malloc(n * sizeof(int));
if (arr == NULL) {
printf("Memory allocation failed.");
return 1;
}
printf("Enter the elements: ");
for (i = 0; i < n; i++) {
scanf("%d", arr + i);
}
printf("The elements are: ");
for (i = 0; i < n; i++) {
printf("%d ", *(arr + i));
}
free(arr);
return 0;
}
字符串操作:
在處理字符串時,current
指針可以用于遍歷字符串的每個字符。例如:
#include<stdio.h>
#include<string.h>
void reverseString(char* str) {
int length = strlen(str);
char* current = str;
char* last = str + length - 1;
char temp;
while (current< last) {
temp = *current;
*current = *last;
*last = temp;
current++;
last--;
}
}
int main() {
char str[] = "Hello, World!";
reverseString(str);
printf("Reversed string: %s\n", str);
return 0;
}
這些只是current
指針在C語言中的一些常見用法。實際上,current
指針可以在任何需要遍歷或處理數據結構元素的場景中使用。