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;
}
相关推荐
L_09071 小时前
【C】队列与栈的相互转换
c语言·开发语言·数据结构
tt5555555555552 小时前
每日一题——主持人调度(二)
c语言·数据结构·算法·leetcode·八股文
张有志_4 小时前
STL容器终极解剖:C++ vector源码级实现指南 | 从内存分配到异常安全的全流程避坑
c语言·c++·算法·开源·visual studio
9毫米的幻想6 小时前
【Linux系统】—— 冯诺依曼体系结构与操作系统初理解
linux·运维·服务器·c语言·c++
USER_A0017 小时前
【C语言】第五期——函数
c语言
李白同学13 小时前
【C语言】结构体内存对齐问题
c语言·开发语言
楼台的春风14 小时前
【MCU驱动开发概述】
c语言·驱动开发·单片机·嵌入式硬件·mcu·自动驾驶·嵌入式
waicsdn_haha1 天前
Visual Studio Code 2025 安装与高效配置教程
c语言·ide·windows·vscode·微软·编辑器·win7
----云烟----1 天前
C/C++ 中 volatile 关键字详解
c语言·开发语言·c++
BanLul1 天前
进程与线程 (三)——线程间通信
c语言·开发语言·算法