C 语言学习

  1. 数组的指针 

                    在c中,几乎所以使用数组名的表达式中,数组名的值是一个指针常量,也就是数组               第   一个元素的地址。注意这个值是指针常量,不是变量。 

           int  a[10]={   ….....}; 

           int    *q; 

           q=&a[0] ;   <=>  q=a;    //这两句是等价的。 

    

           但是,a=q   是非法的,因为a是常量。 

           a[5]=*(a+5)       //数组下标等价于数组的指针间接寻址。 

          int    a[10]={….....}; 

          int   *p=a;      //一定要理解,非常重要。 

          注意  int   *p    是定义的p为整型指针变量,如初始化必须是指针类型值。 

           如: 

           char   c='a'; 

           char    *q= &c; 

           到现在就可以很好理解scanf输入什麽时候加&符号了

            如:

            char   c[10];

            int    t;

            scanf("%s",c);        //因为c就是指针类型。

            scanf("%d",&t);      //注意t前面必须加& 地址符号。

2.       #define    A      B        把b自定义 A 

          如定义字符串:   #define    HELLO    "hello   world" 

           定义数值               #define     LEN       10 

3.       const     修饰,表示不可变 

          const    int   t[10]         不可变数组 

         const     int  t=10         不可变变量 

4.    c 语言的字符串就是以\0结尾的数组。scanf   输入时系统自动加如\0 空白符。

        c语言的字符串定义:

         先定义字符串 c :       char   c [ 20]={..........  ,'\0'};

         程序中可以直接用c  代表字符串了

         printf  函数可以直接输出 字符串数组。如不加空白符,那是字符数组 .printf() 也能直接输出 字符数组。这和java  输出数组就有区别。

         char   c[20];

          scanf("%s",c);

          printf("%s\n",c);      //直接输出。

          

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/48838.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第1步---MySQL安装和配置

第1步---MySQL安装和配置 1.下载地址 MySQL :: Download MySQL Community Server (Archived Versions) 直接下载zip形式的就可以。 2.在bin的同级目录下常见my.ini文件。 输入下面的内容 my.ini中的文本&#xff1a; [mysqld] #设置3306端口 port3306 character-set-server…

线程池一定需要了解的那些事

一、阿里Java开发规范&#xff0c;为啥禁止直接使用Executors创建线程池 newFixdThreadPool 及 singleThreadPool 中默认队列长度为 Integer.MAX_VALUE&#xff0c;如果线程执行比较耗时&#xff0c;执行任务的线程在队列中产生大量堆积&#xff0c;进而有导致虚拟机OOM 的风险…

c#配置提供者

在 C# 中,配置系统是一种用于管理应用程序配置数据的机制。通常情况下,应用程序的配置数据包括连接字符串、应用程序设置、环境变量等。C# 配置系统允许您轻松地读取和使用这些配置数据,而不需要硬编码在代码中。 除了默认的配置提供者外,C# 配置系统还支持其他配置提供者…

关于内存融合cache fusion中锁模式的一些思考

集群中不可能即存在写锁&#xff0c;又存在读锁。这个从读写锁的语义上已经定义。集群中只能存在一个人持有写锁&#xff0c;其他人再申请写锁时必须要释放当前写锁。集群中可能存在多个读锁。集群中存在脏块时&#xff0c;可能存在&#xff08;一个或多个&#xff09;读锁&…

Numpy学习笔记

科学计算库&#xff08;Numpy&#xff09; 通常数据都能转换成矩阵&#xff0c;行就是每一条样本数据&#xff0c;列就是每个字段的特征&#xff0c;Numpy在矩阵运算上非常高效&#xff0c;可以快速处理数据并进行数据计算。 Numpy基本操作 先导入 import numpy as nparray…

【C语言】位段,枚举和联合体详解

目录 1.位段 1.1 什么是位段 1.2 位段的内存分配 1.3 位段的跨平台问题 2.枚举 2.1 枚举类型的定义 2.2 枚举的优点 3. 联合&#xff08;共用体&#xff09; 3.1 联合类型的定义 3.2 联合的特点 3.3 联合大小的计算 1.位段 1.1 什么是位段 位段的声明和结构体是类…

关于python如何使用sqlalchemy连接sap_hana数据库

1.先安装sqlalchemy pip install sqlalchemy 2.from sqlalchemy import create_engine 3.创建数据库连接方式&#xff1a; 假设数据连接方式如下&#xff1a; usernameH_TEOPT passwordww122222 jdbcUrljdbc:sap://192.163.1.161:21681/?currentschema 那么使用sqlalchemy 的…

EureKa快速入门

EureKa快速入门 远程调用的问题 多个服务有多个端口&#xff0c;这样的话服务有多个&#xff0c;硬编码不太适合 eureKa的作用 将service的所有服务的端口全部记录下来 想要的话 直接从注册中心查询对于所有服务 每隔一段时间需要想eureKa发送请求 保证服务还存活 动手实践 …

动态规划入门之线性动态规划

P1115 最大子段和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目要求求连续得一段子串使其累加和最大。 我们做动态规划首先考虑小情况&#xff0c;然后推而广之。 假设三个数1&#xff0c;-2&#xff0c;5. 我们先选1然后我们在-2以及-2加1里边选&#xff0c;我们选…

element表格多选实现

表格实现多选 实现表格多选很简单&#xff0c;只需要在表格里加上一列即可&#xff0c;加完之后就会在表格里出现一列白色的四方块按钮&#xff0c;可以多选&#xff0c;也可以单选 <el-table-columntype"selection"width"55"align"center"&…

17.2 【Linux】通过 systemctl 管理服务

systemd这个启动服务的机制&#xff0c;是通过一支名为systemctl的指令来处理的。跟以前 systemV 需要 service / chkconfig / setup / init 等指令来协助不同&#xff0c; systemd 就是仅有systemctl 这个指令来处理而已。 17.2.1 通过 systemctl 管理单一服务 &#xff08;s…

Wireshark数据抓包分析之HTTP协议

一、实验目的&#xff1a; 主要时熟悉wireshark的使用 二、预备知识&#xff1a; HTTP协议的相关知识 what fk&#xff0c;原来只要在右页点击切换&#xff0c;就可以开启2台不同的机器欸&#xff01;nice 三、实验过程&#xff1a; 1.在机器1中通过管理员身份运行hfs之后&a…

Struts vs. Struts 2:Java Web 开发框架的升级之路与竞争力分析

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

线程池面试题

线程池的管理包括以下几个方面&#xff1a; 线程池的创建和销毁&#xff1a;线程池的创建需要设置线程池的大小、线程池的类型、任务队列的大小等参数&#xff0c;销毁线程池需要停止所有线程并清空任务队列。 线程的分配和回收&#xff1a;线程池需要管理线程的状态&#xff…

Redis不支持集群错误——ERR This instance has cluster support disabled

缘起 最近手动配置了Redis的连接池 Bean public RedisTemplate<String, Object> redisTemplate() {RedisClusterConfiguration redisClusterConfiguration new RedisClusterConfiguration();redisClusterConfiguration.setClusterNodes(Arrays.asList(new RedisNode(r…

centos如何查找某一命令对应的安装包

需求背景 有时候在容器里搭建了一个开发环境&#xff0c;需要有些命令能在容器里也能用&#xff0c;但是有时候只知道命令&#xff0c;但是不知道这个命令对应的是哪个安装包提供&#xff0c;比如最简单的命令 ip命令&#xff0c;"ip a"可以查看主机的所有ip信息&am…

【算法题】2769. 找出最大的可达成数字

题目&#xff1a; 给你两个整数 num 和 t 。 如果整数 x 可以在执行下述操作不超过 t 次的情况下变为与 num 相等&#xff0c;则称其为 可达成数字 &#xff1a; 每次操作将 x 的值增加或减少 1 &#xff0c;同时可以选择将 num 的值增加或减少 1 。 返回所有可达成数字中的…

Spring环境搭建、SpringIOC容器基础、SpringDI基础

文章目录 Spring环境搭建、SpringIOC容器基础、SpringDI基础一、SpringIOC核心思想二、搭建Spring环境步骤三、SpringIOC容器使用步骤四、SpringIOC 总结五、SpringDI&#xff08;依赖注入&#xff09;1、基本概念2、实现方式&#xff08;1&#xff09;set 注入&#xff08;2&a…

多客户企业选择拥有哪些功能的CRM系统?

管理海量客户信息对于每一家企业都是巨大的挑战。粗放式的管理客户资料是对资源的一种浪费&#xff0c;让很多有意向的高价值客户流失。客户比较多&#xff0c;有什么CRM系统推荐吗&#xff1f;帮助企业轻松地跟进客户&#xff0c;提高销售效率&#xff1f; 1.易于使用 首先是…

【ES6】—【必备知识】—箭头函数

一、定义函数 1. ES5 1. 普通函数预定义&#xff0c;再调用 console.log(sum(1, 2)) function sum (x, y) {return x y } console.log(sum(1, 2))2. 函数表达式 按代码顺序定义 console.log(sum(1, 2)) // sum is not a function // sum不是一个函数 var sum function (x…