在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
指针可以在任何需要遍历或处理数据结构元素的场景中使用。