RRROLE 发表于 2021-2-1 12:36:05

关于指针和数组

#include<stdio.h>
#include<stdlib.h>
int main(){
    int *p;   //定义一个指向整形的指针变量
    p=(int*)malloc(5*sizeof(int));//申请5个整形大小的内存空间并返回起始地址给p
    if(p==NULL){    //申请失败
      //执行申请失败的代码,一般print一个报错
      exit(1);    //退出
    }
    p=1000;//为空间中添加数据
    printf("%d",p);//打印这个数据
    free(p);    //释放p的内存空间,此时p依旧存在,只不过失去了指向的对象,成了野指针
    p=NULL; //为其赋NULL,此时它不再是一个野指针
    return 0;
}
请问p【0】=1000是什么操作,指针还能这么用嘛????
求详解

qiuyouzhi 发表于 2021-2-1 12:47:03

能啊
这个就是一个语法糖,方便了操作而已
数组本质也是一个指针的

RRROLE 发表于 2021-2-1 13:02:42

qiuyouzhi 发表于 2021-2-1 12:47
能啊
这个就是一个语法糖,方便了操作而已
数组本质也是一个指针的

请问这算是一个二级指针嘛????

小甲鱼的铁粉 发表于 2021-2-1 13:03:03

int *p;   //定义一个指向整形的指针变量
    p=(int*)malloc(5*sizeof(int));
这个执行之后,p就相当于是一个数组的头地址了,相当于
int p;
页: [1]
查看完整版本: 关于指针和数组