Android 下 JNI 开发Day1

18Union联合体-5

struct Date {

      int year;

      int month;

      int day;

};

union Mix {

     long i;

     int k;

     char ii;

};

main() {

       printf(“date:%d\n”,sizeof(struct Date));

       printf(“mix:%d\n”,sizeof(union Mix));

       system(“pause”);

}

范例代码:

#include<stdio.h>

#include<stdlib.h>

/*

联合体

*/

//定义一个结构体

struct Date {

      int year;

      int month;

      int day;

};

//定义一个联合体,特点,所有的字段都是使用同一块内存空间;

union Mix {

     long i; //4个字节

     int k; //4个字节

     char ii;//1个字节

};

main() {

       printf(“date:%d\n”,sizeof(struct Date));

       printf(“mix:%d\n”,sizeof(union Mix));      

       //实验

        union Mix m;

        m.i = 100;

        m.k = 123;

        printf(“m.i=%d\n”,m.i);         

        printf(“m.k=%d\n”,m.k);            

       system(“pause”);

}

运行结果:如图:

联合体,特点,所有的字段都是使用同一块内存空间;

mix.I mix .k mix.ii共用相同的地址

19、枚举-3

enum WeekDay {

     Monday=0,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday

};

main() {

       enum WeekDay day = Sunday;

       printf(“%d\n”,day);

       system(“pause”);

}

枚举中的值是递增的。

枚举默认是从0开始

20Typedef别名-4

声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。

在计算机编程语言中用来为复杂的声明定义简单的别名;

#include <stdio.h>

#include <stdlib.h>

typedef int i;

typedef long l;

main() {

       i m = 10;

       l n = 123123123;

       printf(“%d\n”, m);

       printf(“%ld\n”, n);

       system(“pause”);       

}

21、结构体指针-10

#include<stdio.h>

#include<stdlib.h>

/**

结构体指针

*/

//定义一个结构体

struct Student{

       int age;

       float score;

       char  sex;       

}        

main()

{      //结构体

      struct Student stu = {20,88.5,’W’};

      printf(“stu.age=%d\n”,stu.age);

      //结构体指针

      struct Student* stuPoint;

      //赋地址值

      stuPoint = &stu;

      //取值  (*stuPoint).age     

      printf(“(*stuPoint).age=%d\n”,(*stuPoint).age);

      //赋值 (*stuPoint).age =80;

      //另外一种取值 (*stuPoint).等价于 stuPoint-> 例如:

      //(*stuPoint).age 等价于 stuPoint->age

      printf(“stuPoint->age=%d\n”,stuPoint->age);

      system(“pause”);     

}     

运行结构如下:

(*stuPoint).age 等价于 stuPoint->age

 


上一篇:
下一篇:
关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
电话:010-56253825
邮箱:info@atguigu.com
地址:北京市昌平区宏福科技园综合楼6层(北京校区)

 深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦6层(上海校区)