开始复习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下不行.放外面标准
效果图
==============================//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函数 增加引入头文件
效果图
=========================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字节整数->右键 带符号显示
或者
在调试模式下可以看到 左下角有个浮动窗口 里面的参数和值
下面对指针进行操作
…发现 写基础的 真不好写 算了 我还是就写我能理解的就好了
…这里不懂的人可以去百度下资料把
//例子 操作指针改变变量的值
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 我现在写的话都在有道云上写了.