Linux C 使用指针访问成员
在Linux用c编程,很多时候都会碰到结构体这个概念,尤其是使用指针访问结构体成员。(下面的文字介绍,请参考代码理解)
1. 使用一个新运算符:->,这个运算符有一个连接号(-)后跟一个大于符号(>)组成
struct guy *him;
him = &fellow[0];
him->income
2. 如果 him = &fellow[0] ,那么 *him = fellow[0] , &和*是一对互逆的运算符,因此可做以下代替:
fellow[0].income == (*him).income
必须有圆括号,因为,运算符比*的优先级更高。
总之,后面跟->运算符的结构指针和后跟 . (点)运算符的结构名是一样的,如果him是指向名为barney的guy类型结构的指针,则下列表达式是等价的:
barney.income == (*him).income == him->income // 假设 him = &barney
代码:
1 #include <stdio.h>
2 #define LEN 20
3
4 struct names{
5 char first[LEN];
8
11 char favfood[LEN];
12 char job[LEN];
13 float income;
14
15 };
16
17
18 main(){
19
20 struct guy fellow[2] = {
21
22 {{"Ewen","Villard"},"grilled salmon","personality coach",58112.00},
23 {{"Rodney","Swillbelly"},"tripe","tabloid editor",232400.00}
24 };
25
26 struct guy *him;
27 printf("address #1 : %p #2 :
相关文档:
转载自
http://www.linux-wiki.cn/index.php/Linux%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84
Linux目录结构
此页由Linux Wiki用户Chenxing
于2009年1月19日 (星期一)
05:37的最后更改。 在Allen Lee
的工作基础上。
出自Linux Wiki
与Windows将硬盘看做“C盘”、“D盘”几个独立的分区不同,Linu ......
Linux下解压压缩及打包命令大全
[日期:2008-11-04]
来源: 作者:jenen
———————————————
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
&mdas ......
最近准备学习一下操作系统原理,于是照例记录一些重要的东西。
1. 操作系统的功能
从资源管理的角度来看,操作系统的功能一般分为5种:
1.1 存储管理
存储管理就是管理计算机有限的内存空间,包括:存储分配、存储安全和 ......
最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。
于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。
& ......
在软件开发这一高度抽象而且十分复杂的活动中,命名规则的重要性更显得尤为突出。一套定义良好并且完整的、在整个项目中统一使用的命名规范将大大提升源代码的可读性和软件的可维护性。
在引入细节之前,先说明一下命名规范的整体原则:
同一性
在编写一个子模块或派生类的时候,要遵循其基类或整体模块的命名 ......