欢迎访问个人博客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. 字符串
 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. 指针
 1. 地址就是指针 (pointer)int a=100;a;&a;// printf("%p"); 16进制打印2.  int *p;int num;char num2;p = &num;*p = 100;3. void test(int num){num+=100;}void test2(int *p){*p = *p + 100;}int num=0;int *p2=NULL;

C语言 指针,重点详解,(大佬必看, 进阶架构师)相关推荐

  1. Web.config配置文件详解(新手必看)

    Web.config配置文件详解(新手必看) 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点. ...

  2. 【C语言】函数详解(入门到进阶)

    目录 前言 一.什么是函数 二.函数的构成 三.函数的调用和声明 四.函数的参数 五.函数的递归 总结 写在后面 前言 最近帮家里的小朋友整理一些学习C语言的知识点 有整体入门基础文章--[C语言]拯 ...

  3. c语言 指针函数 详解,[NOTE-C]C语言指针详解(一)

    C语言指针让一切想法变成可能,强转和指针可以看做一项呼风唤雨的利器,但是C语言中指针应用又需要格外的小心,其更灵活的利用内存,因为不当的应用可能引起各种异常,这篇文章就是让我们一起来认识C指针,更好的 ...

  4. Apache Log4j2详解,【高级Java架构师系统学习

    []( )引用依赖 在一般项目中使用Log4j2至少需要引用log4j-api-2.x和log4j-core-2.x这两个jar包. org.apache.logging.log4j log4j-co ...

  5. 如何深入掌握C语言指针(详解)

    目录 前言 指针是什么 概念 单元大小与编址 指针和指针类型 指针类型 指针+-整数 指针的解引用 野指针 指针未初始化 指针越界访问 指针指向的空间释放 如何规避野指针 指针运算 指针+-整数 指针 ...

  6. python工具安装教程_Python 开发工具PyCharm安装教程图文详解(新手必看)

    一.概念理解1.json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串) (1)json.dumps()函数是将一个Python数据类型列表进行jso ...

  7. 索尼android sd卡上,SD卡各个文件夹功能详解 入手必看经验!!!!

    对于初次使用Android系统的新手来说,当打开SD开一看,里面那些林林总总的文件夹总会让自己不知所措,有些看文件夹名称,还能猜到点作用来,但是大部分的都不知道是做什么的 1..android_sec ...

  8. 微机原理与接口技术 重点详解与章节总结——CPU架构详解

    第一章绪论 微处理器分为三类的划分 微处理器主要可以分为三类: 通用高性能微处理器(通用CPU) 通用处理器追求高性能,它们用于运行通用软件,配备完备.复杂的操作系统. 通用微处理器一般指的是服务器用 ...

  9. 不可重复读和幻读详解(必看!!!)

    前言:看了很多关于MySQL隔离级别的视频和文章,发现了一个问题,大家都是说,不可重复读是在一个事务中读到了另一个事务提交后修改后的数据,而幻读是一个事务读到了另一个事务中添加并提交后的数据.那么删除 ...

  10. RPC框架详解(必看)

    1.RPC介绍 RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想.RPC 是一种技术思想而非一种规范或协议 ...

最新文章

  1. php做gui,php7 图形用户界面GUI如何开发
  2. python学号怎么编写_用python编写学生管理系统
  3. Repeating Decimals (计算循环小数)
  4. springboot 读取配置文件_使用 @ConfigurationProperties 在 Spring Boot 中加载配置
  5. 注入双括号报错注入_SQL手动注入:sqlilabs(less110)
  6. java学习(56):接口之间的继承续
  7. ajax教程 异步刷新验证,Ajax实现异步刷新验证用户名是否已存在的具体方法
  8. SQL 必知必会·笔记6使用数据处理函数
  9. Labview调用python
  10. 周记20180309
  11. 2021年下半年软考软件设计师真题答案解析
  12. 数据结构第一章概论习题及答案
  13. 我的原创软件作品——弹窗拦截器V1.0.1
  14. 无法唤起订阅消息弹窗 requestSubscribeMessage:fail can only be invoked by user TAP gesture
  15. 远程控制桌面,手机外网远程桌面连接内网的实现过程,详细图文并茂
  16. day31-20180720-流利阅读笔记
  17. vue嵌套路由,二级路由使用介绍
  18. Linux中关于一个文件的详细信息
  19. ubuntu清理硬盘空间
  20. 归纳数学常识提高运算速度

热门文章

  1. [Power Query] 快速计算列
  2. 计算机无法识别3.0u盘启动,USB3.0接口的解决方案无法识别U盘
  3. texlive和texstudio安装及使用
  4. VMware虚拟机连接外网
  5. Windows64位操作环境下,eclipse使用32位JDK
  6. win10pro不够pro,win10专业工作站版本才是真的牛
  7. CPU和CPU寄存器和CPU缓存和CPU内存管理器、RAM、hard disk。以及堆栈、内存映射。
  8. 移动端点击出现遮罩块效果
  9. 关系模式判断候候选关键字 与 函数依赖无损连接
  10. Python re模块 (正则表达式用法剖析详解)