C语言 指针,重点详解,(大佬必看, 进阶架构师)
欢迎访问个人博客http://www.jkraise.top
字符串
// 字符串, 只用字符数组 来存
int a[100] = {"hello world"};printf("int a = %s", a); 字符串输出用%s // 用字符串函数
//puts(" 打印字符串")// gets("从键盘获取字符串") 能获取空格, 但有字符限制// strcat(old, new); 连接字符串 new 连接到 old// compare 比较
// strcmp(old, new); 比较字符串的值
// 返回值 为0 即相等
// 返回值 非0 即不相等// strcpy(old, new) 拷贝 把原来的字符串进行覆盖,
new 的字符串给 old 字符串
指针
// 定义指针变量
int *a; // *的 作用是 表示 p 是个指针变量// 初始化
int b=20;int *p =&b; // 获取b的内存地址printf("%d /n", *p) // *的 作用是 表示 取去指向变量的值//指针没有初始化里面是一个垃圾值,这时候我们这是一个野指针,如 果操作一个野指针. //1)可能会导致程序崩溃 //2)访问不该访问数据 所以指针必须初始化才可以访问其所指向存储 区域// 指向数组元素的指针int num[4]=[1,2,3,4]
int *a = &num[0]int *b = a // &a[0] 数组的名字就是 数组元素 第零个的地址//
int *c = a[3]
printf('%ld/n', c -b) // 元素之差// 两个指针相减, 如p1-p2 (只有p1和p2都指向同一数组中的元素时才有意义)
指针指向同一个数组, 可以进行相减
字符串指针
char name[]= {"hello world"};char *p={"hello world"}// 程序分为五个大区// 堆区
// 栈区
// 常量区 不允许修改
// 全局静态区
// 代码区 不允许修改// 字符串的结尾 \0
二级指针
int **p=Null;
向程序申请一块内存
char *p=Null;// 使用malloc函数 向系统申请一块可用的空间, 100 表示申请的字节数
p = (char *)malloc(100);// 从键盘获取数据, 存入p指向的内存空间中
sanf("%s", p);// 输出
printf("p = %s\n", p);return 0;
指针数组
int *num[4];// 指针数组int age[4];
int *temp[4];
// 存放 指针数组元素
temp[0] = age[0];
temp[1] = age[1];
temp[2] = age[2];
temp[3] = age[3];
复习
- 字符串
1. "hello world"---->字符串 常量2. char num[];// 字符数组char num[]={"hello world"};// 大小应该为:12Byte (bit)char num[]="hello world";char num[]={'a','b','c','d','e'};// 大小应该为:5Bytefor(int i=0;i<5;i++){printf("%c", num[i]);}printf("%s", num);puts(num);scanf("%s", num);gets(num);3. #include<string.h>strcmp();//比较是否相等strcat();// 连接strcpy();// 拷贝strlen();// 计算实际的长度(不包括) char num[]={'a','b','\0','d','e','\0'};#include<stdlib.h>
- 指针
1. 地址就是指针 (pointer)int a=100;a;&a;// printf("%p"); 16进制打印2. int *p;int num;char num2;p = #*p = 100;3. void test(int num){num+=100;}void test2(int *p){*p = *p + 100;}int num=0;int *p2=NULL;
C语言 指针,重点详解,(大佬必看, 进阶架构师)相关推荐
- Web.config配置文件详解(新手必看)
Web.config配置文件详解(新手必看) 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点. ...
- 【C语言】函数详解(入门到进阶)
目录 前言 一.什么是函数 二.函数的构成 三.函数的调用和声明 四.函数的参数 五.函数的递归 总结 写在后面 前言 最近帮家里的小朋友整理一些学习C语言的知识点 有整体入门基础文章--[C语言]拯 ...
- c语言 指针函数 详解,[NOTE-C]C语言指针详解(一)
C语言指针让一切想法变成可能,强转和指针可以看做一项呼风唤雨的利器,但是C语言中指针应用又需要格外的小心,其更灵活的利用内存,因为不当的应用可能引起各种异常,这篇文章就是让我们一起来认识C指针,更好的 ...
- Apache Log4j2详解,【高级Java架构师系统学习
[]( )引用依赖 在一般项目中使用Log4j2至少需要引用log4j-api-2.x和log4j-core-2.x这两个jar包. org.apache.logging.log4j log4j-co ...
- 如何深入掌握C语言指针(详解)
目录 前言 指针是什么 概念 单元大小与编址 指针和指针类型 指针类型 指针+-整数 指针的解引用 野指针 指针未初始化 指针越界访问 指针指向的空间释放 如何规避野指针 指针运算 指针+-整数 指针 ...
- python工具安装教程_Python 开发工具PyCharm安装教程图文详解(新手必看)
一.概念理解1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行jso ...
- 索尼android sd卡上,SD卡各个文件夹功能详解 入手必看经验!!!!
对于初次使用Android系统的新手来说,当打开SD开一看,里面那些林林总总的文件夹总会让自己不知所措,有些看文件夹名称,还能猜到点作用来,但是大部分的都不知道是做什么的 1..android_sec ...
- 微机原理与接口技术 重点详解与章节总结——CPU架构详解
第一章绪论 微处理器分为三类的划分 微处理器主要可以分为三类: 通用高性能微处理器(通用CPU) 通用处理器追求高性能,它们用于运行通用软件,配备完备.复杂的操作系统. 通用微处理器一般指的是服务器用 ...
- 不可重复读和幻读详解(必看!!!)
前言:看了很多关于MySQL隔离级别的视频和文章,发现了一个问题,大家都是说,不可重复读是在一个事务中读到了另一个事务提交后修改后的数据,而幻读是一个事务读到了另一个事务中添加并提交后的数据.那么删除 ...
- RPC框架详解(必看)
1.RPC介绍 RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想.RPC 是一种技术思想而非一种规范或协议 ...
最新文章
- php做gui,php7 图形用户界面GUI如何开发
- python学号怎么编写_用python编写学生管理系统
- Repeating Decimals (计算循环小数)
- springboot 读取配置文件_使用 @ConfigurationProperties 在 Spring Boot 中加载配置
- 注入双括号报错注入_SQL手动注入:sqlilabs(less110)
- java学习(56):接口之间的继承续
- ajax教程 异步刷新验证,Ajax实现异步刷新验证用户名是否已存在的具体方法
- SQL 必知必会·笔记6使用数据处理函数
- Labview调用python
- 周记20180309
- 2021年下半年软考软件设计师真题答案解析
- 数据结构第一章概论习题及答案
- 我的原创软件作品——弹窗拦截器V1.0.1
- 无法唤起订阅消息弹窗 requestSubscribeMessage:fail can only be invoked by user TAP gesture
- 远程控制桌面,手机外网远程桌面连接内网的实现过程,详细图文并茂
- day31-20180720-流利阅读笔记
- vue嵌套路由,二级路由使用介绍
- Linux中关于一个文件的详细信息
- ubuntu清理硬盘空间
- 归纳数学常识提高运算速度
热门文章
- [Power Query] 快速计算列
- 计算机无法识别3.0u盘启动,USB3.0接口的解决方案无法识别U盘
- texlive和texstudio安装及使用
- VMware虚拟机连接外网
- Windows64位操作环境下,eclipse使用32位JDK
- win10pro不够pro,win10专业工作站版本才是真的牛
- CPU和CPU寄存器和CPU缓存和CPU内存管理器、RAM、hard disk。以及堆栈、内存映射。
- 移动端点击出现遮罩块效果
- 关系模式判断候候选关键字 与 函数依赖无损连接
- Python re模块 (正则表达式用法剖析详解)