C语言里 用指针或者数组名做函数参数时,在被调用的函数体里 为什么有时候在参数或者指针前面加*有的不用

[复制链接]
查看11 | 回复2 | 2012-9-22 06:11:38 | 显示全部楼层 |阅读模式
第一个程序:a是指向结构体s[0]的指针,a[0]...a就是第0-i个结构体,a.s表是结构体中s域;a.s; (*(a+i)).s; (a+i)->s 3个的值是相等的;意思就是当定义一个结构体指针STREC*p_str后,把地址p_str起始的内容结构体化,同时(p_str+1)也是一个指向结构体类型STRECD的指针其指向的地址为p_str的地址+sizeof(STREC) sizeof(STREC) = 10(num[10])+2(为了对齐 凑成3*4)+4(int s) = 16byte贴一段代码,在vc++6.0上跑的#include #include...
回复

使用道具 举报

千问 | 2012-9-22 06:11:38 | 显示全部楼层
为什么要加*,一个是指针,一个是数组,消息来自华夏联盟...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行