开始复习c了 ndk 开始深入学习 一步一步来 每天写一点

工作环境 win10 64位 开发工具visual studio 2013

安装过程就不说了 全部勾选默认安装就行.

建立项目基本按照http://jingyan.baidu.com/article/adc8151355a09cf723bf73c5.html 来做

但是我是新建空项目,他建立的是win32的

首先是hello world

/**
标准输入输出头文件 类似于引入库
*/
#include <stdio.h>

void main(){
	 
	printf("hello world\n");
	system("pause");
	
}

main 主函数 入口 system(“pause”); 这是用作暂停 不加这个 cmd 控制台 在运行完

hello world 后就会消失.

实用快捷键

注释/反注释: ctrl + k + c

格式化 ctrl+K,+D:代码自动格式化(整个文档)

删除一行 剪切 Ctrl+L ctrl x

ctrl + f5 运行项目

复制当前行到下一行 ctrl+c ctrl+v

你敢信?

我感觉 这快捷键 要按得太多了… 和android studo 快捷键差别很大啊

上面是helloworld 第0个案例 下面是第1个案例

1.基本数据类型

//1.基本数据类型
//int short long float double char
/*
int %d
short %d
long %ld
float %f
double %lf
char %c
%x 十六进制
%o 八进制
%s 字符串
*/
void main(){
	//打印数据
	int i = 1;
	printf("%d\n", i);

	float f = 26.3;
	printf("%f\n", f);

	//基本数据类型所在的字节数
	printf("int占%d字节\n", sizeof(int));
	printf("char占%d字节\n", sizeof(char));
	printf("float占%d字节\n", sizeof(float));

	//循环
	printf("循环打印\n");
	int n = 0;
	for (; n < 10; n++){
		printf("%d\n", n);
	}

	//等待输入
	system("pause");

}
注意for循环 声明在哪里声明的 和java不一样啊 ,声明放在外面,windows下没问题 但是linux下不行.放外面标准

效果图

android 转 C语音开发 android studio c语言_#include

==============================//2.输入输出函数

2.输入输出函数

#define _CRT_SECURE_NO_WARNINGS //宏定义  要不然scanf 会
//引入头文件
//只有函数的声明,编译时会去找到函数的实现
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>


void main(){
	int i;
	printf("请输入一个整数:");
	//赋值 控制台输入,&取地址符
	scanf("%d", &i);
	//打印
	printf("你输入的整数是: %d \n", i);
	system("pause");
}
注意这里用了system函数 增加引入头文件

效果图

android 转 C语音开发 android studio c语言_android 转 C语音开发_02

=========================3 指针 案例

3. 指针案例

//指针存储的是变量的内存地址,
内存地址,理解成系统给数据分配的编号(门牌号)

void main(){
	int i = 90;
	//指针变量 创建一个int型指针
	int *p = &i; //p 的值就是i的变量的内存地址
	printf("%#x\n", p);//16进制输出  前面有个0x
	printf("暂停\n");
	system("pause");
}

查看内存流程:

1, 打一个断点 看到工具栏 debug模式 => 本地windows调试器

2, 看到cmd控制台 复制文本 内存地址 右键cmd控制台->编辑->标记

3, 工具栏->内存->内存1

4, 出来内存1窗体, 右上角列 改成4列->右键4字节整数->右键 带符号显示

或者

在调试模式下可以看到 左下角有个浮动窗口 里面的参数和值

android 转 C语音开发 android studio c语言_#include_03

下面对指针进行操作

…发现 写基础的 真不好写 算了 我还是就写我能理解的就好了

…这里不懂的人可以去百度下资料把

//例子 操作指针改变变量的值
void main(){
	int i = 90;
	int *p = &i;
	
	//创建一个Int 类型的指针
	printf("i的值为: %d\n", i);

	*p = 200;
	printf("i的值为: %d\n", i);

	system("pause");

}
/*
结果:
i的值为: 90
i的值为: 200
请按任意键继续. . .
*/

下面一个例子也是操作指针 通过函数改变变量的值

//注意 顺序执行函数 要把change 函数放在main 前面

void change(int* p){
	*p = 300;
}

void main(){
	int i = 90;
	int *p = &i;
	
	//创建一个Int 类型的指针
	printf("i的值为: %d\n", i);

	*p = 200;
	printf("i的值为: %d\n", i);

	printf("通过函数改变i的值 \n");
	change(p);//传指针
	printf("函数改变的值: %d\n", i);
	system("pause");

}

结果:

i的值为: 90

i的值为: 200

通过函数改变i的值

函数改变的值: 300

请按任意键继续. . .

哈哈 最后安利下我12年写过的增删改查链表 当初学习数据结构写的 现在忘得差不多了

所以开始复习了.


现在有道云做的不错 也有markdown 我现在写的话都在有道云上写了.