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 :
相关文档:
假设两个进程(父子进程)对一个文件进行写操作,但是这个文件同一时间只能有一个进程进行写操作。
//利用信号量实现pv操作
#include <stdio.h>
#include <stdlib.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include < ......
CPU:s3c2410
OS:Linux Kernel 2.6.30.4
最近刚做完的嵌入式键盘的驱动,由于初次接触,总结一下。
首先简单说说这个键盘的实现原理,IIC总线工作原理没必要废话,s3c2410的手册中讲的很明白。硬件方面这个键盘通过一个AVR单片机(ATMEGA48)接在IIC总线上,也就是说,直接与IIC总线链接的设备并不是我们用的键盘,而是 ......
1.安装包
# apt-get install nfs-kernel-server
2.编辑配置文件
# vim /etc/exports
输入 /home/myhome/work/ ......
1,用ls只列出目录 ls -F | grep /$
2.查看进程
按内存从大到小排列
ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
3.按cpu利用率从大到小排列
ps -e -o "%C : %p : %z : %a"|sort -nr
4.打印说cache里的URL
grep -r -a jpg /data/cache/* | ......