c语言指针基础知识点

目录

  • 概述
  • 1. 定义指针变量
  • 2. 取址运算符 "&"
  • 3. 解引用运算符 "*"
  • 4. 指针操作
  • 5. 空指针
  • 6. 指针的比较
  • 7. 二级指针(指向指针的指针)

概述

  • C语言中的指针是一种特殊的变量类型,用于存储内存地址。通过指针,可以直接访问和修改内存中的数据,使得程序能够更加高效地操作数据。

以下是c语言中所有指针的知识点及相应代码示例:

1. 定义指针变量

  • 指针变量用于存储内存地址。可以通过运算符 “*” 来定义指针变量。

示例代码:

int* ptr;      // 定义一个指向整数的指针
float* fptr;  // 定义一个指向浮点数的指针
char* cptr;   // 定义一个指向字符的指针

2. 取址运算符 “&”

  • 取址运算符 “&” 用于获取变量的内存地址。

示例代码:

int num = 10;
int* ptr = #  // 将变量 num 的地址赋值给指针 ptr

3. 解引用运算符 “*”

  • 解引用运算符 “*” 用于访问指针指向的内存地址中的值。

示例代码:

int num = 10;
int* ptr = #
printf("Value: %d", *ptr);  // 输出指针所指向的值

4. 指针操作

  • 指针可以通过加法或减法来进行偏移操作。使用指针进行偏移可以访问内存中的连续数据。

示例代码:

int arr[5] = {1, 2, 3, 4, 5};
int* ptr = arr;  // 指针指向数组的第一个元素

for(int i = 0; i < 5; i++) 
{
    printf("%d ", *(ptr + i));  // 输出数组的所有元素
}

5. 空指针

  • 空指针是一个特殊的指针,没有指向任何有效的内存地址。在定义指针变量时,可以将其初始化为空指针。

示例代码:

int* ptr = NULL;  // 将指针初始化为空指针

6. 指针的比较

  • 可以使用运算符 “==” 和 “!=” 来比较两个指针是否相等。如果指针指向同一块内存地址,则它们相等。

示例代码:

int num1 = 10;
int num2 = 20;
int* ptr1 = &num1;
int* ptr2 = &num2;

if(ptr1 == ptr2) 
{
    printf("Pointers are equal");
} 
else 
{
    printf("Pointers are not equal");
}

7. 二级指针(指向指针的指针)

  • 指向指针的指针是指一个指针变量存储另一个指针变量的地址。

示例代码:

int num = 10;
int* ptr = #
int** pptr = &ptr;  // pptr 指向 ptr 的地址

printf("Value: %d", **pptr);  // 输出指针所指向的值

通过使用指针,可以实现更加高效和灵活的内存操作。

你可能感兴趣的:(c语言,开发语言,后端)