NDK开发系列之第二课C语言的基本语法与指针

NDK开发系列之第二课C语言的基本语法与指针
学习NDK开发需要了解一些C语言方面的知识
1.c语言常用的库
1.1#include <stdio.h>标准函数库
1.2#include <stdlib.h> 标准函数库
1.3#include <Windows.h>windows系统库
2.c语言一些基本函数
2.1printf("hello world!");输出函数
2.2system("pause");这是一个命令(在window里面特有的)停住,暂停
2.3scanf_s("%d", &i);输入函数
3.基本数据类型
3.1基本数据类型(int char float double long int short)
3.2基本数据类型的占位符
%d  -  int
%ld - long
%c  - char
%f -  float
%u – 无符号数
%hd – 短整型
%lf – double
%x – 十六进制输出 int 或者long int 或者short int
%o -  八进制输出
3.3案例演示
void main(){
int i = 28;
char c = 'D';
float f = 12.56;
double d = 99.999;
long l = 3544546;
short s = 50;
//控制台输出数据,需要使用占位符
//int->%d
printf("输出int类型的值:%d\n",i);
//char->%c
printf("输出char类型的值:%c\n", c);
//float->%f
printf("输出float类型的值:%f\n", f);
//long int->%ld
printf("输出long类型的值:%ld\n", l);
//double(类似于long float)->%lf
printf("输出double类型的值:%lf\n", d);
//short->%x
printf("输出short类型的值:%x\n", s);
system("pause");
}
3.4输入输出函数演示
void main(){
//注意:i
int i = 100;
//输出函数
printf("请输入一个整数:");
//输入函数(注意:输入函数赋值需要的是地址,而不是值)
//scanf("%d",&i);
//注意:不同编译工具,对函数支持不一样
scanf_s("%d", &i);
//打印i的值
printf("赋值之后的i的值:%d",i);
system("pause");
}
3.5取地址,并且根据地址取值
void main(){
int i = 100;
//输出i的值
printf("i的值:%d\n",i);


//输出i的地址
//&i:取出i变量的地址
//注意:输出地址,占位符%p
printf("i的地址:%p\n",&i);


//根据地址获取值:*(&i)
//总结:&表示取地址  *表示根据地址取值
printf("根据i的地址取出i的值%d\n",*(&i));

//什么是变量名:就是对内存的一段空间里的数据的抽象
//0x001CFDD0


//暂停
getchar();


}
3.6指针存储内容
void main(){
int i = 99;
//打印i的值
printf("%d\n",i);
//打印i的地址
printf("%p\n", &i);


//定义一个指针变量
//int* 是一个int类型的指针变量,可以存储一个int类型的变量地址
int* p = &i;
printf("指针变量p的值:%p\n",p);


//输出指针的地址
printf("指针变量p的地址:%p", &p);


//思考:以下代码输出的内容
//*代表取值  &取地址
printf("%d\n",*p); 


//直接赋值
i = 200;
printf("变量i的值:%d\n", i);
//间接赋值(通过指针变量)
*p = 500;
printf("指针变量赋值后的i的值:%d\n", i);


getchar();
}
3.7指针为什么有类型
因为指针存储的是一个内存地址,然而我们只根据一个地址读取对应的数据,
但是你不知道什么时候读取完毕,也就导致了数据丢失,
所以我们需要指定指针类型,确定什么时候读取完毕
例如:char 2字节 16位   int 4字节 32位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值