C基础回顾

大学学的C现在已经忘得差不多了,最近研究JNI需要用到C方面的知识,所以的重新温习下C的知识

C的基本类型

        JAVA    C 

byte      1     xx
boolean   1     xx(0 false 非0 true)
signed    xx    -128~127
unsigned  xx    0~255
void      xx    代表任意类型
char      2      1
short     2      2 
int       4      4
float     4      4
long      8      4

计算类型的长度sizeof

占位符:
char %c
int %d
long %ld
float %f
double %lf
十六进制 %x
八进制 %o
字符串 %s

注意;默认保留小数点后六位,不同的类型需要不同的展位符输出,不然会损失精度

输入输出:

printf(“a=%.4f”,a);保留4位
printf(“a=%.10f”,a);保留10位

数组定义:
char[] a = {‘A’,’B’}; xx []需要放后面
char a[] = {‘A’,’B’};

printf(“内存地址%#x”,&a);

char* text = “I love c”;
printf(“字符串%s”,text);

scanf(“输入类型”,地址符);
int i;
sacnf(“%d”,&i);

char arr[5];
sacnf(“%s”,&arr);
printf(“%s”,&arr);

注意:
数组是一块连续的内存空间,/0代表结束
char ar[] = {‘a’,’b’,’c’,’\0’}
char str[6] = {‘c’,’h’,’i’,’n’,’a’};
char str [10] = “china”;
char *str = “china”;

指针

指针就是内存地址 *p:取p对应的地址的值

int i = 10;
int* p;//定义一个int类型的一级指针变量p
p = &i;
printf("%d",*p);// 取出p的值

指针与指针变量:

指针就是地址,地址就是指针,地址是内存单元的编号
指针变量是存放地址的变量

指针的作用:

1.访问硬件(opengl绘图)
2.快速传递数据
3.表示复杂的数据结构(结构体)
4.方便处理字符串
5.有助于理解面向对象

指针改变值

void switch(int* a,int*b) {

    int temp = *a ;
    *a = *b;
    *b = temp;  
}
int main() {

    int a = 100;
    int b = 200;
    swap(&a,&b);
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值