1.
struct{
int code;
float cost;
}item,*ptrst;
ptrst=&item;
prtst->code=3451
// ptrst->code==item.code==(*ptrst).code
结构与union 的运算符相同,不同的是union 在同一时间内只能存储成员中的一种,其他的成员不真实。
2. c的修饰符声明
* 表示一个指针
( ) 表示一个函数
[ ] 表示一个数组
可以使用多个修饰符,
int t[8][8] //数组的数组
int **prt //指向int 的指针的指针
int *prt[10] //具有10元素的数组,每个元素是一个指向int的指针
int (*prt)[10] //一个指针,指向具有10个元素的int数组
int *oof[3][4] //一个3×4的数组,每个元素是一个指向int的指针
int (*oof)[3][4] //一个指针,指向3×4的int数组
int (* uof[3])[4] //一个具有3个元素的数组,每个元素是一个指向具有4个元素的int 数组的指针
3.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <string.h>
#include <signal.h>void handler(int signum){printf("hello nanning",signum);//exit(0); //加上这句,程序退出,如不加,则只执行打印语句
}
int main(void){signal(2,handler); //SIGINTwhile(1);return 0;
}// 键盘中断产生信号:1,ctrl+c 2,ctrl+\ 3,ctrl+z,键盘只有这三种情况产生signal信号
//这三中情况只能对当前(运行中)的进程有效
//如想利用键盘中断产生信号,随时打开帮助文件是行不通的。因为驻留运行的进程必须是当前进程。除非驻留文件和vi同时都在一个//当前运行进程中。