1.指针基础
在C语言中,指针是一种非常重要的概念。指针其实就是一种特殊的变量,它存储的是另一个变量的地址,通过指针我们可以直接访问这个地址上的变量。
首先,我们可以使用指针来交换两个变量的值。例如,有两个整数a和b,我们可以定义两个指针pa和pb分别指向这两个变量,然后通过指针操作来交换它们的值。
具体代码如下:
#includevoid swap(int *pa, int *pb) { int temp = *pa; *pa = *pb; *pb = temp; } int main() { int a = 10; int b = 20; int *pa = &a; int *pb = &b; printf("交换前:a=%d, b=%d\n", a, b); swap(pa, pb); printf("交换后:a=%d, b=%d\n", a, b); return 0; }
运行结果为:
交换前:a=10, b=20 交换后:a=20, b=10
2.指针与数组
指针在数组中也有广泛的应用。在C语言中,数组名就是一个指针常量,它存储的是数组的首地址。通过指针我们可以方便地对数组进行操作。
我们可以通过指针打印数组中的元素。例如,有一个整型数组arr,我们可以定义一个指针p指向arr的首地址,然后通过指针遍历数组并打印每个元素。
具体代码如下:
#includeint main() { int arr[] = {1, 2, 3, 4, 5}; int *p = arr; for (int i = 0; i < 5; i++) { printf("%d ", *p); p++; } return 0; }
运行结果为:
1 2 3 4 5
3.指针与动态内存分配
指针还可以用于动态内存分配,C语言提供了几个用于动态内存分配的函数,如malloc、calloc和realloc。
我们可以使用malloc函数来分配一块指定大小的内存空间,并返回一个指向该内存空间的指针。例如,下面的代码分配了一个大小为10的整型数组,并将其用指针p进行访问。
具体代码如下:
#include#include int main() { int *p = (int *)malloc(10 * sizeof(int)); for (int i = 0; i < 10; i++) { p[i] = i + 1; } for (int i = 0; i < 10; i++) { printf("%d ", p[i]); } free(p); return 0; }
运行结果为:
1 2 3 4 5 6 7 8 9 10
通过使用指针,我们可以在程序运行时动态分配和释放内存,提高了程序的灵活性。
本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/cyy3hg931.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。
如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!