没有合适的资源?快使用搜索试试~ 我知道了~
首页指针(*p++ , (*p)++, *(p++), *p+2)与结构体遍历
1,指针,区分*p++ , (*p)++, *(p++), *p+2,; 指针是一个变量,定义指针变量,占4字节。变量是固定大小内存块的别名,则此内存块(4字节)中存放的是指针要指向的地址空间的首地址。初始化 指针为NULL时,则此处存放的地址为0,如果要用指向别的地方,那么需要与malloc并用,由malloc开辟一段空间,并将该段空间的首地址存放与指针变量中。 *,++; 这两个符号的运算优先级相同,运算顺序由右向左。如下 分析上述4种表达式的运算顺序, 1)由于运算顺序由右向左,则*p++ 与 *(p++)和*(p+1)结果相同,先计算++,再*解引用,结果是先进行指
资源详情
资源评论
资源推荐
指针指针(*p++ , (*p)++, *(p++), *p+2)与结构体遍历与结构体遍历
1,指针,区分,指针,区分*p++ , (*p)++, *(p++), *p+2,,;
指针是一个变量,定义指针变量,占4字节。变量是固定大小内存块的别名,则此内存块(4字节)中存放的是指针要指向的
地址空间的首地址。初始化 指针为NULL时,则此处存放的地址为0,如果要用指向别的地方,那么需要与malloc并用,由
malloc开辟一段空间,并将该段空间的首地址存放与指针变量中。
*,++; 这两个符号的运算优先级相同,运算顺序由右向左。如下
分析上述4种表达式的运算顺序,
1)由于运算顺序由右向左,则*p++ 与 *(p++)和*(p+1)结果相同,先计算++,再*解引用,结果是先进行指针位置移动,再取
值,比如一个字符串”hello”, 用char *p = “hello”, 以上表达式取出第二个字符是e;
2)(*p)++括号的优先级最高,则先进行解引用,再++,所以结果是值+1。 比如”14890″, char *p = “14890”, (*p)++,运行一次
取出第一个值为1,然后+1, 值是2.
3)*(p+2),++是运算符,而+2是表达式,+号的运算符号等级是比++低的,必须带括号,多用于二维数组。
比如 int *array[5], 这个意思是说有一个数组,它有5个int*指针类型的元素。这是一个指针数组,它的每个元素都是一个指
针,假设此时int *p指向array,那么p+2就指向了array[2]号元素。指针数组可以理解成行和列,就是指向了第3行。
4)同理,推算数组b[10], &b+1, &(b+1); &b+n是求出整个数组的地址 +n*sizeof(b), &(b+1), 是求出b的第2个元素的地址。
2,由指针想到的结构体,遍历结构体是否有必要,由指针想到的结构体,遍历结构体是否有必要
定义一个结构体,
typedef struct Temp{
char member1;
int member2;
int member3;
char member4;
}Temp_t;
用#pragma pack(1)保持1字节对齐, 那么四个元素的偏移地址为{0, 1, 5, 9};
我们知道,如果打印出一个元素的值可以用两种方式:
对于 Temp_t T1, 使用T1.member1;
对于Temp_t * T2, 使用T2->member1;
如果进行一个拥有20个成员的结构体赋值,则需要如上方法操作20遍,似乎感觉很麻烦。
首先要明白,结构体中的成员赋值都是计算首地址的偏移地址,所以如上可以把首地址存到一个数组里,然后进行循环赋值,
这个想法是不是很好?
1)对于成员变量类型相同类型相同的结构体,有两种方法,
其一:使用for循环一个TYPE类型的数组,然后赋值,比如
weixin_38623009
- 粉丝: 5
- 资源: 906
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- ExcelVBA中的Range和Cells用法说明.pdf
- 基于单片机的电梯控制模型设计.doc
- 主成分分析和因子分析.pptx
- 共享笔记服务系统论文.doc
- 基于数据治理体系的数据中台实践分享.pptx
- 变压器的铭牌和额定值.pptx
- 计算机网络课程设计报告--用winsock设计Ping应用程序.doc
- 高电压技术课件:第03章 液体和固体介质的电气特性.pdf
- Oracle商务智能精华介绍.pptx
- 基于单片机的输液滴速控制系统设计文档.doc
- dw考试题 5套.pdf
- 学生档案管理系统详细设计说明书.doc
- 操作系统PPT课件.pptx
- 智慧路边停车管理系统方案.pptx
- 【企业内控系列】企业内部控制之人力资源管理控制(17页).doc
- 温度传感器分类与特点.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0