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;
}
相关推荐
jz_ddk6 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
无小道7 小时前
c++-引用(包括完美转发,移动构造,万能引用)
c语言·开发语言·汇编·c++
FirstFrost --sy9 小时前
数据结构之二叉树
c语言·数据结构·c++·算法·链表·深度优先·广度优先
森焱森9 小时前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机
秋说11 小时前
【PTA数据结构 | C语言版】两枚硬币
c语言·数据结构·算法
☆璇12 小时前
【数据结构】栈和队列
c语言·数据结构
Heartoxx14 小时前
c语言-指针与一维数组
c语言·开发语言·算法
秋说16 小时前
【PTA数据结构 | C语言版】将数组中元素反转存放
c语言·数据结构·算法
森焱森17 小时前
APM与ChibiOS系统
c语言·单片机·算法·架构·无人机
kyle~17 小时前
C/C++字面量
java·c语言·c++