王学岗c语言指针+指针地址
来源:互联网 发布:php钓鱼源码 编辑:程序博客网 时间:2024/06/05 21:59
(一):c语言程序入口(main函数)
//导入标准函数库(类似于Java导包)#include <stdio.h>#include <stdlib.h>void main(){ //输出函数 printf("hello world"); //这是一个命令(在window里面特有的) system("pause");}
注意system首字母小写
看下运行效果
(二)基本数据类型
void main(){ int i = 28; char c = 'g'; float f = 12.56; double d = 99.99999; long l = 1234566666; short s = 40; //控制台输出数据,需要使用占位符 printf("输出int类型的值:%d\n",i); printf("输出char类型的值:%c\n", c); printf("输出float类型的值:%f\n", f); printf("输出double类型的值:%lf\n", d); printf("输出long类型的值:%ld\n", l); printf("输出short类型的值:%x\n", s); system("pause");}
\n是换行符
看下运行效果
(三)c语言输入输出函数
void main(){ int i = 10; //输出函数 printf("请输入一个整数:"); //输入函数 //控制台输入的值赋值给i scanf_s("%d",&i); //打印i的值 printf("赋值之后的i的值:%d",i); system("pause");}
看下运行效果,输入2后回车
(四)c语言内存地址
void main(){ int i = 100; //输出i的值 printf("i的地址%d\n",i); //输出i的地址,i的地址每次运行都会重新分配内存,每次i的地址都不同 //&i:取出i变量的地址,占位符为%p(输出指针) printf("i的地址%p\n",&i); //根据地址获取值 //&表示取地址 *表示根据地址去值 printf("根据i的地址取出i的值%d\n", *(&i)); //补充:什么是变量名 //就是对内存的一点空间里的数据的抽象 system("pause");}
(5)c语言指针存储内容
void main(){ int i = 99; //打印i的值 printf("打印i的值%d\n",i); //打印i的地址 printf("打印i的地址%p\n",&i); //定义一个指针变量 //int* 是一个int类型的指针变量,可以存储一个int类型的变量地址 int* p = &i; printf("指针变量p的值%p\n",p); getchar();
画了一张图,大家借鉴下
getchar():主函数调用结束之后,一个应用程序就算运行完毕,并退出,通常在它运行推出之前,为了给开发者看清楚它的调用运行结果,很多人都会刻意的在末尾添加getchar();目的就是为了在退出之前可以让调用者再输入一个字符,这时候系统的I/O就停留在读入之上,调用者就可以看清输出了。
(6)通过方法改变变量的值
看段代码
//形参void change(int a){ a = 23;}void main(){//实参 int i = 10; printf("修改前的值:%d\n",i); change(i); printf("修改后的值:%d\n", i); getchar();}
大家看下运行结果
形参和实参是两个不同的变量,也就意味着重新开辟了内存
我们打印输出下内存地址
void change(int a){ a = 23; printf("形参a变量地址%p\n",&a);}void main(){ int i = 10; printf("实参a变量地址%p\n", &i); printf("修改前的值:%d\n",i); change(i); printf("修改后的值:%d\n", i); getchar();}
看看运行结果
实参i和形参a的内存地址并不一样
所以以上的写法是错误的,我们可以通过指针去更改(指针类似于Java中的引用)
void change(int* a){ *a = 23; printf("形参a变量地址%p\n",&a);}void main(){ int i = 10; printf("实参a变量地址%p\n", &i); printf("修改前的值:%d\n",i); change(&i); printf("修改后的值:%d\n", i); getchar();}
看下Java里面的传值
0 0
- 王学岗c语言指针+指针地址
- C 语言指针与地址
- c 语言 指针 与地址
- [编程语言][C语言]指针与地址
- C语言中指针与地址
- C语言之指针与地址
- c语言中的指针与地址
- c语言地址指针的基本概念
- C语言指针学习--表示地址
- c语言指针的概念 --一切都是地址
- c语言指针,简单一句话指针就是地址
- 王学岗c语言指针和指针运算
- C语言:参数传递指针数组的名字(首地址)给-->指向指针的指针
- 【C】 指针与地址
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- C语言的内存与地址(C和指针)
- Sumline常用快捷操作
- ARM:ARM中断异常的处理流程
- hdu 5845 Best Division(trie+dp,好题)
- nat123端口映射: 外网通过ssh访问内网非公网ip的服务器
- SharePoint 2016 配置用户请求应用程序
- 王学岗c语言指针+指针地址
- 各类优化方法总结
- 编程书籍阅读随谈(第四篇)
- LintCode 【平面列表】
- Java初学之数学函数的使用
- 图像的深度和通道概念区分
- CFGym - 101102D.Rectangles 单调栈+dp优化
- View移动的相关方法
- 二叉树中序与前序(或后序)解树