stdafx.h
#pragma once//#pragma once是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。
#include "targetver.h"
#include <stdio.h>//C 标准库
#include <tchar.h>
/*因为VS里的很多字符编码都是采用unicode来编码的,为了兼容字符集。微软开发了tchar包,tchar 在unicode下是wchar(双字符),而普通是char。
因为C++支持两种字符串,即常规的ANSI编码和Unicode编码,这样对应的就有了两套字符串字符串处理函数,
比如:strlen和wcslen,分别用于处理两种字符串 。微软将这两套字符集及其操作进行了统一,通过条件编译(通过_UNICODE和UNICODE宏)
控制实际使用的字符集,这样就有了_T("")这样的字符串,对应的就有了_tcslen这样的函数 。*/
// TODO: 在此处引用程序需要的其他头文件
targetver.h
// 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。
// 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并将
// 将 _WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。
#include <SDKDDKVer.h>
练习一.cpp
#define _CRT_SECURE_NO_WARNINGS
#include "stdafx.h"
#include <stdlib.h>
#include <windows.h>
//注释: 先CTRL + K,然后CTRL + C
//取消注释: 先CTRL + K,然后CTRL + U
int main(){
printf("Hello NDK\n");
system("pause");
return 0;
}
//基本数据类型
//int short long float double char bool
//short %d
//long %ld
//float %f
//double %lf
//char %c
int main(){
int i = 1;
printf("int值:%d, int 类型数据内存大小:%d \n", i,sizeof(int));//int值:1, int 类型数据内存大小:4
float f = 23.3;
printf("%f\n", f);//23.299999
long l = 200000;
printf("%ld\n,sizeof:%d\n", l, sizeof(l));//200000 4
system("pause");
}
int main(){
int n;
printf("请输入一个int 数据:");
printf("地址:%#x ", &n);//0x3bfdd0 &取内存地址
scanf("%d", &n);//输入值
printf("%d\n", n);//输入的值
system("pause");
return 0;
}
//static int n = 10; java
const int n = 10;
int main(){
//int[10] intArray;java
//intArray = new int[20];
//int[] arr;
// C 语音的数组,在申明的时候就必须确定大小和基本类型。
int intArray[10];
float floatArray[10];
///40M 4byte *1024 *1024 *10 = 40M
int * a_array;
//malloc函数是一种分配长度为num_bytes字节的内存块的函数,可以向系统申请分配指定size个字节的内存空间
a_array = (int *)malloc(sizeof(int)* 1024 * 1024 * 10);
printf("地址: %#x ", &a_array);
for (int i = 0; i < 10; i++){
a_array[i] = i;
}
system("pause");
return 0;
}
//& 取地址操作符。运用在内存中的对象上面,即变量与数组元素
//* 间接寻址或者引用运算符。
//单目运算符
int main(){
int i = 10;
int *p;//p存储的是int型的变量的地址
p = &i;
printf("i value:%d\n",i);//10
printf("p 的地址:%#x \n", &p);//0x15f890
printf("i 的地址:%#x \n", &i);//0x15f89c
printf("i value: %d\n", i);//10
printf("sizeof(*p) %d\n", sizeof(*p));//4
double f = 23.99f;
double * fp;
fp = &f;
printf("f 的内存:%d \n", sizeof(f));//4
// fp 是一个变量,指向double 类型的数据的变量
// fp 是存储的 地址,地址是占用4个字节的。32 位 4 * 8
printf("sizeof(fp) %d\n", sizeof(fp));//4
printf("f 的地址:%#x \n", &f);
printf("fpi 的地址:%#x \n", &fp);
system("pause");
// i++; 单目
// 1 + 2 1*2 双目
// bool b = 3 > 2 ? true:false; 三目
return 0;
}
int main(){
int i = 100;
printf("i 的地址:%#x \n", &i);
while (i > 0){
printf("计数器的值:%d\n", i);
i--;
Sleep(1000);
}
return 0;
}
解决
项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加:_CRT_SECURE_NO_WARNINGS