linux学习与c编程2

来源:互联网 发布:荣威ei6 知乎 编辑:程序博客网 时间:2024/05/17 03:12
 cc -S c.c          --编译c.c 文件,会生成 c.s的汇编代码文件  修改linux计算机名,修改文件,重启 :su root 权限 /etc/hostname /etc/hosts  包含基本数据类型的struct中,sizeof,占4的倍数个字节。 位模式不占4的倍数字节:(8位为一个字节) struct mode { unsigned char ur:1; unsigned char uw:1; unsigned char ux:1; unsigned char gr:1; unsigned char gw:1; unsigned char gx:1; unsigned char or:1; unsigned char ow:1; unsigned char ox:1;//后面指定位数 }; struct mode m={1,1,0,1,0,0,1,0,0};  char * toChinese(char c)//数字转换为文字表示 {//局部变量返回地址,因数据已释放,使用地址时会报错    static char num[10][5]={"零","一","二","三","四","五","六","七","八","九"};return num[c-'0']; } char toUpper(char c) { return (c-'a'+'A'); } //对寄存器变量取地址是错误的 char * p=toChinese('1'); printf("%s\n",p);  void swap(int a,int b) { int t=a; a=b; b=t; }  #include<stdarg.h> int max(int n,...)  //多个可变参数,n为具体参数个数 {  va_list v;  va_start(v,n);//开始  int i;  int maxvalue=va_arg(v,int);//取第一个参数  for(i=1;i<n;i++)  {    int data=va_arg(v,int);//循环取参数if(data>maxvalue) maxvalue=data;  }  va_end(v);//结束  return maxvalue;//返回最大值 }