改变局部变量的值
当需要根据某些条件来决定是否改变局部变量的值的时候
#include "stdio.h"
void fun(int *pt){
    if(*pt > 90) {
        *pt = 1000;
    }
}
int main(void){
    int a = 100;
    printf("a:%d",a);
    fun(&a);
    printf("a:%d",a);
}
用于操作访问数组
#include "stdio.h"
#define arrSize 5  
int main(void){
    int arr[arrSize] = { 10,20,30,40,50 };
    int *pt; 
    pt = &arr[0];  // 等价于pt = arr
     // 注意这里数组不能越界访问,否则会解析到无效数据
    for(int i = 0; i < arrSize;i++){
        printf("%d\n",*pt);
        pt++;
    }
    return 0;
}

字符指针
#include "stdio.h"
#define arrSize 5  
int main(void){
    char str[6] = "ABC";
    char *ptr = "123";
    printf("str =  %s \n",str);
    printf("ptr =  %s \n",ptr);
    return 0;
}

指针数组
#include "stdio.h"
#define arrSize 5  
int main(void){
    // 字符指针数组,每个元素都存储指向字符串的首地址
    char *arr[5] = {
        "amy",
        "jack",
        "joe",
    };
    printf("%s\n",arr[0]);  // amy
    printf("%s\n",arr[1]);  // jack
    printf("%s\n",arr[2]);  // joe
}



















