C和指针---数据

C语言基础--指针和数据存储 数据的访问方式:   直接访问:直接访问内存单元中的内容   间接访问:通过 内存单元编号 或者 数据所占字节点数 访问内存中的数据          char        1            1个内存单元          int         4个字节      4个内存单元          short       2            2个内存单元 阅读详情

C和指针—数据

数据类型

基本数据类型------整型、浮点型、指针和聚合类型(如数组和结构等)
1.1.1 整型与浮点
整型字面值:字面值(literal),例如:123等
命名常量(声明为const的变量): 当它被初始化后,值不能改变
枚举(enumerated)类型:它的值为符号常量而不是字面值类型
浮点数:float(单精度)、double(双精度)、long double

1.1.2 指针
指针:把计算机内存比作一条长街上的一间间房子,每间房子都用唯一的号码进行标识。每个位置包含一个值。指针就是那个标识。
指针常量(pointer constant)
字符串常量(string literal):用一对双引号包围一串字符,例如:“Hello”
字符串常量会生成一个“指向字符的常量指针”,当字符串常量出现于一个表达式中,表达式所使用的值就是这些字符所存储的地址,但不能把字符串常量赋值给一个字符数组,字符串常量的直接值是一个指针,而不是这些字符本身。

1.1.3 typedef与常量
typedef:允许为各种数据类型定义新名字,使用typedef而不是#define来创建新的类型名,是因为后者无法正确地处理指针类型
常量:和变量的样子完全一样,只是他们的值不能修改,可以用const关键字来声明常量
在函数中声明为const的形参在函数被调用时会得到实参的值
#define是创建名字常量的机制,#define MAX_ELE 50,这种情况比const更好,只要允许使用字面值常量的地方都可以使用MAX_ELE。用名字常量定义数组长度或限制循环的计数器,提高程序可维护性。

1.1.4 作用域
作用域:文件作用域、函数作用域、代码块作用域、原型作用域
代码块作用域:位于一对花括号之间的所有语句称为一个代码块
文件作用域:在所有代码块之外声明的标识符都具有文件作用域
原型作用域:只适用于在函数原型中声明的参数名
函数作用域:只适用于语句标签,语句标签用于goto语句

1.1.5 链接属性
链接:external(外部)、internal(内部)、none(无)
internal链接属性的标识符在同一个源文件中的所有声明中都指同一个实体,但位于不同的源文件的多个声明则分属不同的实体。
external链接属性的标识符不论声明多少次、位于几个源文件都表示同一个实体。
关键字extern和static用于声明中修改标识符的链接属性,static关键字使其链接属性变为internal,将为这个源文件私有化。

1.1.6 存储类型
用于存储变量:普通内存、运行时堆栈、硬件寄存器
在任何代码块之外声明的变量总是存储于静态内存中,不属于堆栈的内存,这类变量称为静态变量,静态变量在程序的整个执行期间始终存在。
在代码块内部声明的变量存储于堆栈中。
函数的形式参数不能声明为静态,因为实参总是在堆栈中传递给函数,用于支持递归。

1.1.7 static关键字
当它用于函数定义时,或用于代码块之外的变量声明时,static关键字用于修改标识符的链接属性,从external改为internal,但标识符的存储类型和作用域不受影响。用这种方式声明的函数或变量只能在声明他们的源文件中访问。
当它用于代码块内部的变量声明时,static关键字用于修改变量的存储类型,从自动变量修改为静态变量,但变量的链接属性和作用域不受影响。

对C语言数据处理和指针的理解 学习C有一阵子了,走了不少弯路,把太多的精力集中在语法上,感觉语法就是基础,语法学了半年,到最后还是不会编程,而语法也随着时间的流逝忘得差不多啦,后来才知道,语法是最次要的,重要的是编程的思想和对机制的理解,实践方能出真知。最近感觉小有成就,所以自己也想拽一下。因为涉及到了操作系 阅读详情

相关推荐

一文搞懂C语言如何用指针来代替变量和数组进行数据的存储

既然未初始化的指针指向的地址是随机的,那么就可以用这个地址来存储数据。我们定义了未初始化的指针之后,可以用malloc函数,为这个指针分配空间。即,指针就会指向该空间的首地址。如果这个空间大小刚好是n个int类型的大小的话,这个指针就相当于一个大小为n的int数组,可以用来存储数据。这种方式,就不是野指针的用法了,提倡大家用这种方法。但是所存储的数据大小最好不要超过分配的空间的大小,不然就和野指针一样,可能会发生内存安全问题,导致异常终止。1、指针可以作为数组用,数组号表示指针基地址偏移。

爱吃雪糕的小布丁的博客 8087

[C和指针] ch03. 数据

第三章:数据 第三章貌似没有作者给出的源码。 本章总结及注意点 部分课后习题解答 3.13 问题 见 demo01.c 即可。包含了 <limits.h> 后自行查看即可。也可以直接去查看 <limits.h> 中到底是怎样定义的。 见 <float.h> 中的定义即可。 很实用啊,真正的见名知意。 warning 警告。只要能放下也无所谓。否则,根据各个编译器自己的规矩来,可能溢出,可能直接丢弃高阶位,这些情况都是有可能的。 精度丢失。warn

Y-puyu 的博客 727

说一说系统/子系统规格说明

《系统/子系统规格说明》都是从用户的角度以软件的维度来描述系统的功能、性能、业务流程、数据流和控制流等,并描述内外部接口需求、资源使用情况等.

weixin_40725543的博客 5428

C语言指针高级部分:void指针和数据指针

概念 void指针 数据指针 void指针void指针的基本概念void的意思就是“无类型”,void指针则为“无类型指针”,void指针可以指向任何类型的数据。 所以void指针一般被称为通用指针或者泛指针,或者叫做万能指针 定义形式 : void *p;**在C语言中在任何时候都可以用void类型的指针来代替其他类型的指针,void指针可以指向任何数据类型的变量** **如果要通过vo

章飞 _906285288的博客 1万+

全国充电站分布数据

CnOpenData推出的充电站数据覆盖全国34个省份的3万条数据,包含充电站名称、省份名称、省份代码、商圈、经纬度等地理信息以及商业类型、评分、消费等衍生信息,能为城市规划、环境科学、市场分析、技术发展和社会经济研究等多个领域提供宝贵的数据支持。

Sunny9qx的博客 4025

LVI-SAM适配KITTI数据集避坑指南:IMU频率与数据同步问题解析

本文深入解析了将LVI-SAM框架适配KITTI数据集时,在IMU频率与多传感器数据同步方面遇到的核心挑战与解决方案。针对KITTI数据集中sync与extract两种数据包的差异,文章提供了从数据选择、参数调优到时间戳诊断与修复的完整避坑指南,帮助开发者实现稳定高效的SLAM系统部署。

7z8x2c4v6b9的博客 247

C和指针的学习——数据篇

声明是用来告诉编译器变量的名称和类型,而不分配内存。定义是为了给变量分配内存,可以为变量赋初值。在C语言中,定义与声明通常是同时发生的,仅当出现。

water314924的博客 88

国科大《人工智能原理与算法》2021年期末试题+2024经验(2025指南)

2021年期末试题+24年复习指南

MatsumotoChrikk 2926

C和指针 一 数据

第一章至第三章 笔记 学习语言的基础不如编写程序有趣,但不知道语言的基础会使你在编写程序时缺少乐趣 第一章 快速上手 删除C代码更好的方法: #if 0 statements #endif stdio.h使我们可以访问标准IO库strandard I/O library #define MAX_COLS 20,这是字面值常量 数组参数是传引用referen...

小老鼠的博客 315

UDS诊断服务基础详解之七-31服务

本节内容主要是讲解诊断服务中的31服务,包含31服务的使用场景,请求报文格式,响应报文格式,以及举例对31服务进行相关的说明

车载网络小D的博客 5628

【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏5(附项目源码,完结)

本期是本项目的最后一篇,主要内容是配置环境、生成不同敌人、结束重开。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2574

c语言的指针一些代码和解析,C语言如何在指针中隐藏数据详解

前言编写 C 语言代码时,指针无处不在。我们可以稍微额外利用指针,在它们内部暗中存储一些额外信息。为实现这一技巧,我们利用了数据在内存中的自然对齐特性。内存中的数据并非保存在任意地址。处理器通常按照其字大小相同的块读取内存数据;那么考虑到效率因素,编译器会按照块大小的整数倍对内存中的实体进行地址对齐。因此在 32 位的处理器上,一个 4 字节整型数据肯定存放在内存地址能被4整除的地方。下面,假设系...

weixin_42131276的博客 211

【VS Code插件开发】通用功能(二)

本篇主要从command(命令)、menus(菜单)、快捷键三个方面讲解,都归于通用功能。

编码世界 1万+

C和指针Day3-数据

本章将描述数据的各种类型、它的特点并如何声明他。也将描述变量的三个属性——作用域、链接属性和存储类型。C语言仅有——整形、浮点型、指针和聚合类型(如数组和结构)。整形包括字符、短整型、整形和长整型,均分为有符号和无符号两个版本。其中,标准并未规定长整形必须比短整型长,只是说不能比短整型短而已。类型由图可见,short int至少16位,long int至少32位。具体由编译器决定,通常会自动选择最自然高校的位数。

a2415869117的博客 1391

32、生物信息学中的符号、缩写及相关概念解析

本文详细解析了生物信息学中常用的符号、缩写及相关概念,涵盖概率理论、函数表示、模型结构、图与集合、维度参数、神经网络、隐藏马尔可夫模型、双向架构、语法系统、系统发育树、微阵列分析以及核方法与支持向量机等多个领域。通过表格和mermaid流程图的形式,系统梳理了各类符号的定义与应用场景,并介绍了常见缩写的全称与意义。文章旨在帮助研究人员准确理解生物信息学中的基础术语,提升对基因表达分析、序列建模、机器学习等技术的理解与应用能力。

rrr55的博客 146

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

《C和C指针》之第三章数据

文章目录一、基本数据类型二、基本声明三、typedef四、常量五、作用域(scope)六、链接属性七、存储类型八、static关键字九、作用域、存储类型示例十、总结10.1 总结10.2 警告的总结10.3 编程提示的总结十一、问题 一、基本数据类型 二、基本声明 三、typedef typedef 关键字是用来为类型定义一个别名的。这样做的好处就是 提高代码的可读性与可维护性。 //定义字符指针类型的别名为 ptr_to_char typedef char *ptr_to_char; //声明变量a..

C安君的博客 282

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C语言指针类型和所指数据的类型要一致吗

C语言指针类型和所指数据的类型必须要一致吗 网上很多答案是:”必须,不一致会出现语法错误“,但是 no try no know。 首先看下我的环境: 下面是代码: #include <stdio.h> int main () { double var_double = 10.0; double *p = &var_double;//double数据类型的指针 int *y = &var_double;//int数据类型的指针 pri

weixin_43739679的博客 2816

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

笔记《C和指针》第3章数据

变量的 3 个属性:作用域、链接属性、存储类型 C语言中 4 种基本数据类型: 1.整型:char、short、int、long int 且都分为 signed 和 unsigned ; 长整型至少应该和整型一样长,整型至少和短整型一样长; 整型8进制以0开头,16进制以0x开头 2.浮点型:float、double、long double 3.指针: 指针变量是一个存储计算机内...

xiudai8738的博客 172

读薄《C和指针》-第3章 数据

这是我读《C和指针》第3章做的笔记,主要内容是C语言中数据的类型、不同类型的特点和使用以及变量的三个属性--作用域、链接属性和存储类型,希望能对你有所帮助。 涉及:基本数据类型,整型,浮点型,指针,typedef,const常量,作用域,链接属性:external(外部)、internal(内部)和none(无),存储类型,static关键字

虾米的日常总结 252

C语言_地址和指针:形参为指针变量时实参和形参之间的数据传递

# include <stdio.h> int myadd(int *a, int *b) //指针变量作为形参 { int sum; sum = *a + *b; /* 先找到a,b中存储的地址,然后根据地址找到地址所指向的空间,并把空间当中的值取出 */ return sum; } int main(void) { int x, y, z; printf("Enter x,y:"); scanf("%d%d", &x, &y);

sk_girl的博客 1954

感悟《C和指针》——3.数据

所有的程序都对数据进行操作,本章对数据的各个方面进行了描述。特别是变量的三大属性——变量的作用域、链接属性和存储类型决定了变量的“可视性”和“生命期”。 1.基本数据类型      C语言的基本数据类型包括整型、浮点、指针和聚合类型。      (1)整型家族。整型家族包括字符(char)、短整型(short int)、整型(int)、长整型(long int)和枚举类型(enum)。其中前

u010665051的专栏 702

C语言结构体、指针和常见数据结构

在这篇文章里,我们学习了C语言中的结构体指针和几种常见的数据结构,包括链表、栈、队列和二叉树。这些数据结构是程序设计中非常基础的概念,必须掌握,否则之后会寸步难行学数据结构的几点建议理解指针:指针是C语言的灵魂,多写写指针相关的代码,理解它怎么指向内存、怎么操作数据。多练习链表:链表的操作虽然看起来简单,但很多细节很容易出错,多加练习有助于提高编程能力。掌握栈和队列的应用场景:栈和队列常常在算法题中出现,比如递归、广度优先搜索等,这些数据结构的实现可以加深我们对这些算法的理解。

2301_79175212的博客 1345

C和指针(二)数据

链接属性及存储类型

mei_true的博客 1145

《C和指针》第3章 数据

本章详细介绍了C语言中的数据相关概念,包括基本数据类型(整型、浮点型、指针)、基本声明(初始化、数组声明、指针声明等)、typedef用于创建类型别名、常量的定义和类型、不同的作用域(代码块作用域、文件作用域、原型作用域、函数作用域)、链接属性(外部链接、内部链接、无链接)以及存储类型(自动、寄存器、静态、外部),还深入探讨了static关键字的多种用途。这些知识对于理解C语言程序中数据的表示、存储和使用方式至关重要,是编写高效、可靠C语言程序的基础。

qq_40844444的博客 648

和小白一起学数据结构二之c语言和指针

和小白一起学数据结构(二) 今天呢我们主要复习一下C语言和指针基础,注意注意⚠️这里仅包括指针部分。今天看书的时候翻到当时自学计算机组成原理时的笔记,干货满满很想和各位道友一同分享。关于组成原理和C语言基部分,如果大家有要求,更完数据结构或者数据结构的每日任务完成之后再补充~ 继续话不多说,进入我们今天的学习中吧。 一、内存和地址 提到c语言,从第一版标准语法出世至今,该语言成为计算机学界多年屹立...

坚持更! 449
下一篇: C和指针---语句
ldxFashion
博客等级 码龄6年 0粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值