C语言指针实例:交换变量、动态内存分配、数组传递、返回指针
C语言指针实例
指针是 C语言 中非常重要的概念,它允许程序员直接操作内存地址,从而实现更灵活、高效的编程。以下是一些常见的指针应用实例:
1. 交换两个变量的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a = 5, b = 10;
printf('before swap: a = %d, b = %d\n', a, b);
swap(&a, &b);
printf('after swap: a = %d, b = %d\n', a, b);
return 0;
}
2. 动态内存分配
int main() {
int *p;
p = (int *)malloc(sizeof(int)); // 分配4个字节的内存空间
*p = 10;
printf('%d\n', *p);
free(p); // 释放内存空间
return 0;
}
3. 函数中传递数组
void printArray(int *arr, int len) {
for (int i = 0; i < len; i++) {
printf('%d ', *(arr + i));
}
printf('\n');
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int len = sizeof(arr) / sizeof(int);
printArray(arr, len);
return 0;
}
4. 函数返回指针
int *createArray(int len) {
int *arr = (int *)malloc(sizeof(int) * len);
for (int i = 0; i < len; i++) {
*(arr + i) = i;
}
return arr;
}
int main() {
int *p = createArray(5);
for (int i = 0; i < 5; i++) {
printf('%d ', *(p + i));
}
printf('\n');
free(p);
return 0;
}
通过以上实例,您应该对 C语言 指针的基本应用有了更深入的理解。指针作为 C语言 中强大的工具,可以帮助您更高效地编写代码,实现各种功能。建议您在实际编程中多多练习,加深对指针的理解和运用。
原文地址: https://www.cveoy.top/t/topic/mGEv 著作权归作者所有。请勿转载和采集!