码迷,mamicode.com
首页 > 编程语言 > 详细

C语言

时间:2016-06-09 00:28:42      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

JNI java本地开发接口

JNI 是一个协议

这个协议用来沟通java代码和外部的本地代码(c/c++).

通过这个协议,java代码就可以调用外部的c/c++代码

外部的c/c++代码也可以调用java代码

* 输出

#include <stdio.h> //standard input output
#include <stdlib.h>

main(){
       printf("小志的逗比精神永存\n");
       system("pause"); 
}

 

* C调用java的hello

public class Hello
{
    public static void main(String[] dd){
        System.out.println("hello from java");
    }
}

 

#include <stdio.h>
#include <stdlib.h>

main(){
       printf("hello from c\n"); 
       system("java Hello");
       system("pause"); 
}

 

* C的基本数据类型,

char, int, float, double, long, short, signed, unsigned

技术分享

#java的基本数据类型长度
* byte:1
* short:2
* int:4
* long:8
* boolean:1
* char:2
* float:4
* double:8

#c的基本数据类型长度
* short:2
* int:4
* long:4
* char:1
* float:4
* double:8

#include <stdio.h>
#include <stdlib.h>

main(){
       //char, int, float, double, long, short, signed, unsigned
       
       int i =3;
       char c = a;
       long long ago = 12314324;
       short int i2 = 2;
       long int i3 = 3243;
       //printf("i的值为%d\n", i);
       
       printf("char的长度:%d\n", sizeof(char));
       printf("int的长度:%d\n", sizeof(int));
       printf("float的长度:%d\n", sizeof(float));
       printf("double的长度:%d\n", sizeof(double));
       printf("long的长度:%d\n", sizeof(long));
       printf("short的长度:%d\n", sizeof(short));
       printf("long long的长度:%d\n", sizeof(long long));
       printf("short int的长度:%d\n", sizeof(short int));
       printf("long int的长度:%d\n", sizeof(long int));
       
       system("pause"); 
}

* 输出函数

#include <stdio.h>
#include <stdlib.h>
/*
%d  -  int
%ld – long int
%hd – 短整型
%c  - char
%f -  float
%lf – double
%u – 无符号数
%x – 十六进制输出 int 或者long int 或者short int
%o -  八进制输出
%s – 字符串
*/
main(){
       int i = -3;
       long l = 34567;
       char c = a;
       float f = 3.1466666666;
       double d = 3.1466666666;
       char arr[] = "小志的二逼精神永存";
       printf("%c\n", c);
       printf("%d\n", i);
       printf("%f\n", f);
       printf("%lf\n", d);
       printf("%u\n", i);
       printf("%#x\n", l);
       printf("%#o\n", l);
       printf("%s\n", arr);
       system("pause"); 
}

 * 输入函数

#include <stdio.h>
#include <stdlib.h>

main(){
       printf("请输入班级人数:\n");
       int number;
       //&:取出number的内存地址 
       scanf("%d", &number);
       
       printf("请输入班级名称:\n");
       char name[10];
       scanf("%s", &name);
      
       printf("number的地址%#x\n", &number);
       printf("name的地址%#x\n", &name);
       printf("班级人数为%d,名称为%s\n", number, name); 
       system("pause"); 
}

 

 “*”的三种用法

1. 乘法
2. int* p:定义一个指针变量p,p中存放一个内存地址,这个地址所存放的数据规定是int型
3. *p:取出p中保存的内存地址存放的数据

* 指针和指针变量的关系

  指针就是地址,地址就是指针

  地址就是内存单元的编号

  指针变量是存放地址的变量

  指针和指针变量是两个不同的概念

  但是要注意: 通常我们叙述时会把指针变量简称为指针,实际它们含义并不一样

* 为什么使用指针

  指针的重要性

  直接访问硬件 (opengl 显卡绘图)

  快速传递数据(指针表示地址)

  返回一个以上的值(返回一个数组或者结构体的指针)

  表示复杂的数据结构(结构体)

  方便处理字符串

  指针有助于理解面向对象

#include <stdio.h>
#include <stdlib.h>

main(){
       int i = 3;
       //定义一个保存int类型数据的地址的指针变量 ,该变量的值是一个内存地址 
       int* p = &i;
       int** q = &p;
      
       printf("i的地址%#x\n", p);
       
       printf("i的值为%d\n", *p);
       printf("i的值为%d\n", **q);
       system("pause"); 
}
#include <stdio.h>
#include <stdlib.h>

main(){
       //野指针:没有赋值的指针 
       int* p;
       int i;
       double d = 3.14;
       p = &d; 
       //*p = 23;
       printf("%#x\n", p);
       printf("%lf\n", *p);
       system("pause"); 
}

 

* 值交换(值传递: 所有语言所有平台,都只有值传递,引用传递传递的值是内存地址

#include <stdio.h>
#include <stdlib.h>
void swap(int* p, int* q){
     int temp = *p;
     *p = *q;
     *q = temp;
}
main(){
       int i = 3;
       int j = 5;
       printf("i=%d\n", i);
       printf("j=%d\n", j);
       swap(&i, &j);
       printf("i=%d\n", i);
       printf("j=%d\n", j);
       system("pause"); 
}

 

C语言

标签:

原文地址:http://www.cnblogs.com/anni-qianqian/p/5571624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!