一个关于指针的大小山东

[复制链接]
查看11 | 回复2 | 2011-1-21 15:55:41 | 显示全部楼层 |阅读模式
指针在计算机中是一个32位(即四字节)的一个值,这32位数据代表一个地址,当你声明了一个 char**p的指针的时候,自动分配了32位大小的空间存储指针p,但是,注意,p没有指向任何空间,所以*p操作是错误的,你必须先为*p分配一块空间才行,具体做法如下:p=(char**)malloc(sizeof(char*));如上语句中分配了一个大小为char*(即32位大小)的空间,并把指向该空间的指针(其实就是该空间的地址)赋值给了p,然后当你进行的*p操作找到p所指向的空间,这时,*p = (char *)malloc(10);才没有错误.指针不难理解,指针其实就是一个32位大小的数据,和int一样大,只不过代表地址而已,所以你也可以把地址赋
回复

使用道具 举报

千问 | 2011-1-21 15:55:41 | 显示全部楼层
#includemain(){int a[10],*pmax,*pmin,max,min,i;for(i=0;i<10;i++){ scanf("%d",&a);}pmax=pmin=&a[0];for(i=1;i<10;i++){ if(*pmax<a
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行