6.C语言杂项

多级指针

#include<stdio.h>
#include<malloc.h> 
int main(){
    int i = 5;
    int* p = &i; 
    int** q = &p;
    int*** r = &q; 
    printf("i的值是=%d\n",***r); 
    system("pause");   
}

函数指针

/*
1.定义int (*pf)(int x, int y);
2.赋值 pf = add;
3.引用 pf(3,5);
*/
#include<stdio.h>
#include<malloc.h>

int add(int x,int y){
     printf("x+y=%d\n",x+y);
}
      
int main(){
    int (*pf) (int x ,int y);
    pf = add;//函数名就是函数的首地址,函数指针其实就是函数的首地址
    pf(3,6);
    system("pause");   
}

结构体

#include<stdio.h>
struct Student
{
    int age; //4
    float score; //4
    long id; //4
    char sex; //1 
};

int main(void)
{
    struct Student st={80,55.6f,10001,'F' };
    printf("age = %d\n", st.age);
    // 结构体的长度gcc+编译器做了数据字长对齐优化,提高访问效率
    printf("结构体的长度 %d\n",sizeof(st)); 
    system("pause");
}

联合体

#include <stdio.h> 
main( )
 {
     struct date { int year, month, day; }today; 

     //union节省内存空间, 复用内存空间,每次只可使用union中的一个变量,union的长度为最长数据类型的长度
     union { long i; int k; double d; } mix;  
     
     printf("date:%d\n",sizeof(struct date)); 
     mix.d=923456789.123;
     printf("mix:%d\n",mix.k); 
     printf("mix:%d\n",sizeof(mix)); 
     system("pause"); 
} 

枚举类型

#include <stdio.h>

enum WeekDay
{
Monday=1,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
};

int main(void)
{
  //int day;
  enum WeekDay day = Sunday;
  printf("%d\n",day);//打印结构 7
  system("pause");
  return 0;
}

typedef:给类型起一个别名

int mynameveryverylongmethod(int x,int y){
     
}
typedef mynameveryverylongmethod vvl;
typeof.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 注:这是第三遍读《C语言深度解剖》,想想好像自从大学开始就没读完过几本书,其中谭浩强的那本《C语言程序设计(第四版...
    HavenXie阅读 1,823评论 1 6
  • 第一章 1.C语言学习中的重难点 运算符:自增、自减运算符(重点) 进制:各种进制转换、原码、反码、补码 数组:一...
    恒筠阅读 857评论 0 0
  • 数据类型 基本数据类型 java基本数据类型 浮点型 字符型 boolean true/false C的基本数据类...
    醉了俗身醒了初心阅读 831评论 0 0
  • 1.局部变量 概念: 局部变量就是定义在函数, 代码块和函数形参列表中的变量, 我们就称之为局部变量 作用范围:...
    GSChan阅读 871评论 0 0
  • 介绍 C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器...
    Leon_520阅读 847评论 0 3