C语言指针的基本概念
1、1 什么是指针
指针是C语言中一种特殊的变量类型,它存储的是另一个变量的内存地址,通过指针,我们可以间接地访问和操作内存中的数据,指针在C语言编程中具有非常重要的作用,例如动态内存分配、函数参数传递等。
1、2 指针的类型
C语言中有3种指针类型:整型指针、字符型指针和浮点型指针,整型指针用于存储整数类型的地址,字符型指针用于存储字符类型的地址,浮点型指针用于存储浮点数类型的地址,还有一种通用指针类型,可以用于存储任意类型的地址。
C语言指针的基本用法
2、1 声明指针变量
要声明一个指针变量,需要指定指针所指向的数据类型,声明一个整型指针变量intPtr
,可以这样写:
int *intPtr;
2、2 获取变量的地址
要获取一个变量的地址,可以使用取址运算符&
,获取整型变量num
的地址,可以这样写:
int num = 10; int *ptr = # // 使用取址运算符获取num的地址并赋值给ptr
2、3 访问指针指向的数据
要访问指针指向的数据,可以使用解引用运算符*
,访问整型指针ptr
指向的数据,可以这样写:
int num = 10; int *ptr = # // 将num的地址赋值给ptr printf("num的值:%d ", *ptr); // 使用解引用运算符访问ptr指向的数据并打印结果
C语言指针的高级用法
3、1 指针与数组
指针和数组有很紧密的联系,数组名实际上是一个指向数组第一个元素的指针常量,声明一个整型数组arr
和一个整型指针intPtr
,可以这样写:
int arr[] = {1, 2, 3, 4, 5}; // 声明一个整型数组arr并初始化为{1, 2, 3, 4, 5} int *intPtr = arr; // 将数组arr的第一个元素的地址赋值给intPtr(即arr[0])
3、2 指针与函数参数传递
在C语言中,可以通过指针将实参传递给形参,这种传递方式称为传地址调用,需要注意的是,实参和形参在内存中的存储顺序是不同的,因此在使用指针传递实参时需要注意类型匹配。
void swap(int *a, int *b) { // 交换两个整数的值的函数原型声明 int temp = *a; *a = *b; *b = temp; } int main() { int x = 10; int y = 20; swap(&x, &y); // 使用指针传递实参x和y到swap函数中进行交换操作 printf("交换后的x和y的值:x=%d, y=%d ", x, y); // 输出交换后的结果 return 0; }
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/150426.html