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;
}
相关推荐
疑惑的杰瑞1 小时前
[数据结构]算法复杂度详解
c语言·数据结构·算法
hong1616882 小时前
VSCode中配置C/C++环境
c语言·c++·vscode
Crossoads3 小时前
【数据结构】排序算法---快速排序
c语言·开发语言·数据结构·算法·排序算法
小立爱学习4 小时前
Linux 给 vmlinux 添加符号
linux·c语言
Crossoads4 小时前
【数据结构】排序算法---基数排序
c语言·开发语言·数据结构·算法·排序算法
老薛爱吃大西瓜4 小时前
DAY15:链表实现学生信息管理系统
c语言·数据结构·学习·链表
guoguoqiang.5 小时前
我与Linux的爱恋:命令行参数|环境变量
linux·运维·服务器·c语言·学习
浅陌pa6 小时前
24:RTC实时时钟
c语言·stm32·单片机·嵌入式硬件
Reese_Cool7 小时前
【二级C语言考试】自定义数据类型
c语言·开发语言
我命由我123457 小时前
GPIO 理解(基本功能、模拟案例)
linux·运维·服务器·c语言·c++·嵌入式硬件·c#