共同:
开发工具:Visual studio
一、
// 只有函数的声明,编译时会去找函数的实现
#include<stdio.h>
void main() {
printf("Hello world"); // 函数的声明
system("pause");
}
stdio.h头文件只是printf函数的声明。
编译时会去找printf函数的实现,并把它链接进来。windows的visual studio安装目录下查找stdio.h的源文件。
注意点:
1.printf的实现跟编译器有关。
2.动态库中不能有重名的函数(c中不可以,c++中可以,因为c++有命名空间)。
二、
getchar和system("pause")同,为等待输入。
三、
储的是变量的内存地址
//内存地址,系统给数据分配的编号(门牌号)
/*void main(){
int i = 90;
//指针变量,创建一个int类型的指针
int* p = &i; //p的值就是i这个变量的内存地址
printf("%#x\n",p);
float f = 89.5f;
//创建一个float类型的指针
float *fp = &f;
printf("%#x\n", fp);
system("pause");
}*/
/*
void change(int* p){
*p = 300;
}
//变量名,对内存空间上的一段数据的抽象
void main(){
int i = 90;
//i = 89;
//创建一个int类型的指针
int *p = &i;
//输出地址
printf("p的地址:%#x\n",&p);
printf("i的地址:%#x\n",&i);
printf("i的值为:%d\n", i);
//间接赋值 i = 200;
//对p存的地址指向的变量进行操作
//*p = 200;
//change(p);
change(&i); // int *p = &i;
printf("i的值为:%d\n",i);
system("pause");
}
*/
四、屏蔽scanf引发的警告
#define _CRT_SECURE_NO_WARNINGS //宏定义
五、在vs studio下查看指定内存地址存放的数据
调试->窗口->内存1
六、指针的作用
只要拿到内存地址,就可以修改内存地址指向变量的值。
7、外挂的原理

被折叠的 条评论
为什么被折叠?



