中易网

C语言指针的一个问题

答案:3  悬赏:0  
解决时间 2021-01-12 14:09
C语言指针的一个问题
最佳答案
#include
main(){
    
    unsigned long long *pprimes=NULL;
    unsigned long long trial=133;
    unsigned long long a[5]={2,3,5,7,11};
    pprimes = a;
    int count = 0;
    *(pprimes+count++)=trial;
    int i;
    printf("count=%d
",count);
    for(i=0;i<5;i++) printf("%d ",(int)a[i]);
    printf("
");
}运行结果:
count=1
133 3 5 7 11 


结合运行结果可知,
*(pprimes+count++)=trial;表示先把trial的值赋值给(pprimes+count)的位置然后,count的值加1.

相当于pprimes[count]= trial;count++;


对于指针p,*p相当于取地址p处的值。
全部回答
NULL其实就是0值,我假设运行到 *(pprimes+count++) = trial;这条语句的时候count 的值是99,并且你要先知道count++是什么意思,他说的是count先参与运算,然后自增,于是将以上变量的值代入表达式:
*(pprimes+count++) = trial;
*(0 + 99 ) = 0; <----这就是你的表达式
count = 99+1;
*(a) = 8;就是说将内存地址为a的那块内存赋值为8;换成你这里的表达式就是将内存地址为count的那块内存(99这个地址)塞一个0值进去。
*(pprimes+count++)表示指针pprimes移动count次后所指向的对象
*(pprimes+count++)=trial;表示把trial的值赋给*(pprimes+count++)所指向的对象。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁是大盘止跌风向标
为什么学习自然拼读Phonics这么重要
四寨地址有知道的么?有点事想过去
海尔bcd一225scfm无箱冰箱冷藏室结冰什么原因
大疆osmo灵眸为什么连接不上手机wifi
果冻是怎样做成的
已只(1,3)是曲线 Y=aX³+bx²的一个
北栾和南栾哪个品种的苗木用量大
私に分からない 和 私が分からない 的区别?
想在长乐开进口零食便利店,谁能告诉我在那里
金属氧化物是金属材料吗?
张卫健有哪些经典的歌?
百度号在贴吧好像永久性被封了,不能发言,这
交通银行atm(五一路108-11)地址有知道的么?
屈原为什么不姓“屈”?
推荐资讯
被狗挠了一下
魅蓝2哪个系统版本好用
1.6乘(¾-X)=4 求解怎么好像算出来是负
属牛的8月初4是什么星座和性格
路由器哪个牌子的好?100多元
CF找不到atl80.dll怎么办啊
挨着铝材市场可以做什么
道三小学地址有知道的么?有点事想过去
中国工商银行24小时自助银行(102省道)地址在
用pixlr怎么改图片上的字?
华硕e200h笔记本死机关不了
微信pc版不能安装,如图
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?