C语言中关于指针的理解

cpp 复制代码
#include <stdio.h>
int main()
{
    int a=11;
    int *p=&a;        //因为a是整型的,所以我们定义指针p的时候要和a的类型一样
    char b;
    char *pa=&b;       //同理,b是字符型,所以这里的pa也要用字符型
    return 0;
}

因为*p指向的是地址,所以我们定义的时候需要在a前面用**"&"取地址运算符。**


需要注意的是,当我们定义数组的时候,如果只定义数组名的话,系统就会默认把s[0]的地址分配给*pa

cpp 复制代码
#include <stdio.h>
int main()
{
    int s[10]={8,2,3,4,5};
    int *p=&s[3];
    int *pa=&s;
    printf("%d\n",*p);
    printf("%d",*pa);
    return 0;
}
相关推荐
C++ 老炮儿的技术栈4 小时前
在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
c语言·c++·windows·git·vscode·visual studio
CQ_YM7 小时前
ARM--SDK、led、beep与链接脚本
c语言·arm开发·嵌入式硬件·嵌入式
傻乐u兔9 小时前
C语音初阶————调试实用技巧2
c语言·开发语言
颜子鱼12 小时前
Linux驱动-INPUT子系统
linux·c语言·驱动开发
星迹7014 小时前
C语言相关的数电知识
c语言·开发语言
半条-咸鱼15 小时前
C语言基础语法+STM32实践学习笔记 | 指针/寄存器核心应用
c语言·stm32·学习·嵌入式
彭泽布衣15 小时前
gdb调试方法总结
linux·c语言·gdb·故障排查·段错误
lingran__15 小时前
C语言动态内存管理详解
c语言·开发语言
学嵌入式的小杨同学16 小时前
【嵌入式 C 语言实战】栈、队列、二叉树核心解析:存储原理 + 应用场景 + 实现思路
linux·c语言·网络·数据结构·数据库·后端·spring
VekiSon16 小时前
ARM架构——时钟系统与定时器详解
linux·c语言·arm开发·嵌入式硬件·架构