C语言—指针入门

内存存放数据

在这里插入图片描述
在这里插入图片描述
如果发送指令,读取f变量的内容,则先找f - >10005这个字节,然后再找到123。

指针和指针变量

通常说的指针就是地址的意思,C中有专门的指针变量存放指针。一个指针占4个字节。
在这里插入图片描述

定义指针变量

类型名 *指针变量名

char *pa;// 定义一个指向字符型的指针变量
int *pb; // 定义一个指向整型的指针变量

取地址和取值

如果需要获取某个变量的地址,可以使用取地址运算符 (&):

char *pa = &a;
int *pb = &f;

如果需要访问指针变量指向的数据,可以使用取值运算符 (*)

printf("%c,%d\n",*pa, *pb);

例1

#include <stdio.h>
#include <string.h>

int main() 
{
   
    char a='F';
    int f=123;
    
    char *pa=&a;//获取变量a的地址 ,存入指针变量pa中 
    int *pb=&f;//获取变量f的地址 ,存入指针变量pb中 
    
    printf("a=%c\n",*pa); 
    printf("f=%d\n",*pb); 
    

    return 0;
}

a=F
f=123

例2

#include <stdio.h>
#include <string.h>

int main() 
{
   
    char a='F';
    int f=123;
    
    char *pa=&a;//获取变量a的地址 ,存入指针变量pa中 
    int *pb=&f;//获取变量f的地址 ,存入指针变量pb中 
    
    printf("a=%c\n",*pa); 
    printf("f=%d\n",*pb); 
    
    *pa='C';
    *pb+=1;
    
    printf("Now a=%c\n",*pa); 
    printf("Now f=%d\n",*pb); 

    return 0;
}

a=F
f=123
Now a=C
Now f=124

例3

#include <stdio.h>
#include <string.h>

int main() 
{
   
    char a='F';
    int f=123;
    
    char *pa=&a;//获取变量a的地址 ,存入指针变量pa中 
    int *pb=&f;//获取变量f的地址 ,存入指针变量pb中 
    
    printf("a=%c\n",*pa); 
    printf("f=%d\n",*pb); 

    
    printf("sizeof 指针pa = %d\n",sizeof(pa));
    printf("sizeof 指针pb = %d\n",sizeof(pb));
    
    printf("address of 指针pa = %p\n",pa);
    printf("address of 指针pb = %p\n",pb);
    

    return 0;
}

a=F
f=123
sizeof 指针pa = 8
sizeof 指针pb = 8
address of 指针pa = 000000000062FE0F
address of 指针pb = 000000000062FE08

避免访问未初始化的指针

相关推荐

  1. C语言指针——野指针

    2023-12-06 13:42:05       36 阅读
  2. C语言——二级指针

    2023-12-06 13:42:05       39 阅读
  3. C语言 数组指针

    2023-12-06 13:42:05       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 13:42:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 13:42:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 13:42:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 13:42:05       20 阅读

热门阅读

  1. 关于input直接上传文件夹

    2023-12-06 13:42:05       37 阅读
  2. python获取透明图

    2023-12-06 13:42:05       29 阅读
  3. Docker tag 命令

    2023-12-06 13:42:05       41 阅读
  4. 首例CSDN_AI文章-- K-均值聚类算法

    2023-12-06 13:42:05       37 阅读
  5. 蓝桥杯ACwing习题

    2023-12-06 13:42:05       31 阅读
  6. 基于python实现人脸识别登录系统

    2023-12-06 13:42:05       32 阅读
  7. MySQL四 | 约束

    2023-12-06 13:42:05       39 阅读
  8. 【PyTorch】优化分析

    2023-12-06 13:42:05       32 阅读
  9. PHP常用的正则表达式

    2023-12-06 13:42:05       39 阅读