IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C声明和初始化和赋值 -> 正文阅读

[C++知识库]C声明和初始化和赋值

c语言的数据结构的声明 和 初始化

简单一句话总结,在数据类型 声明的时候,如果同时给这个变量赋值,这个时候就叫初始化。
如果声明的时候,没有给变量提供初始化。后面无论如何操作都不能叫做初始化了,只能给这个变量做赋值操作了。

典型的就是字符串和数据,结构。

如普通数据类型

int a =3; // 声明变量a的同时,提供初始化操作。

int b;
b = 2; // 这个叫赋值操作,不叫初始化。

如数组

int a[] = {1, 2, 3, 4}; //声明数组a,并且提供初始化。

int b[10];
b[1] = 233; 这个叫做赋值。

数组和字符串,这里有点东西

char a[] = {‘a’, ‘b’, ‘c’, ‘d’}; //声明字符数组a,提供初始化,注意里面是单引号。好像c语言唯三个用单引号的地方,第一个是char定义单字符;

char b[] = “hello world”; //声明字符数组b, 提供初始化。注意这里貌似 “hello world” 是字符串常量,但是在这里初始化的表达式里面,就把这个“hello world” 打散,一个字符一个字符的装入字符数组b.

char b[10]; // 如果不提供初始化,就要指定长度, 无论是显式的指定还是隐式的指定。
b[2] = ‘x’; // 给b的第二位 赋值;另一个单引号在这里用。如果是双引号表示的是两个位,默认后面一个是、\0。。。单引号就单单表示一个位。

这里数组只能一个位置一个位置的操作,如赋值,替换等等。不能把一个数组直接赋值给另外一个数组,无论这个数组是什么类型。

有两种办法复制数组,一个是用for 循环对每一个位置进行赋值操作。第二个办法是:采用《string.h》里面的memcpy(a, b, sizeof(a));

对于结构体 也是一样

struct {
int a;
char b;
} ss = {a=2, b=‘x’}; // 声明并且初始化;对于这种无结构标签的结构体,声明的变量就这一个,后面没有办法在利用这个结构体声明变量了。因为没有结构标签。

struct p {
int c;
char *d;
} ss = {c = 12, d=“helllo”}; //声明并且初始化,这种带有结构标签p的结构体,后续是可以继续单独定义变量的。如果新定义结构体,要带上struct…他俩是一起的,如:
struct p s3; //注意这里是定义了一个类型是struct p的结构体,名字是s3,但是我们没有初始化,只是定义了变量
struct p s4 = {c = 33, d=“world”}; // 声明s4变量,同时提供初始化。注意这里和最上面的变量ss …这两个某种程度上来说是一样的,都是定义新的变量同时初始化。

同时:
s3.c = 23;
s3.d = “new value”;
是可以这么给s3结构体里面的成员赋值的。

对于结构是可以互相赋值的,这点比数组要好,数组无法一个数组赋值给另外一个数组,但是结构可以。

所以上面的s3=s4 也是OK的。

同时如果想要互相赋值两个数组,可以吧两个数组先放到结构里面,然后在把两个结构赋值,就可以变形实现两个数组赋值;

如:
struct Arr {
int a[10];
} a1, a2;
泽可以 a1=a2;

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 10:32:27  更:2022-07-03 10:32:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:46:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码