c的关于数组初始化 和 memset用法
今天为了彻底搞定一个关于c中数组初始化和声明不同情况下,比如只声明一个数组char str[20];那么这str里面是什么内容呢?我用vc6++,debug下看到都是-56饿asc码,后来请教了一个华为的大牛,他说 按照理论来说里面的内容都是有可能的,这和叫做“脏内存”或者叫做“野数组”。好了第一个问题搞懂了。
第二个问题 memset的问题,之前在万臣解析fast协议的时候,因为是刚入门C,薄荷老大给我说一般声明了数组吼都用memset一下。当时不是很理解,但是现在这句话知道了。
举例一下:
比如 char str[20];
对于str的连续20个单元都是随意的值
char str[20] = "Hello World!";
这个时候对于str,前面的字符是 Hello World 紧接着是'/0';也就是说str尽管后面没用到的内存单元也是0了,不是随意值
如果 memset(str, 0, sizeof(str));
那么这句话也是把str的前sizeof(str)个单元都赋值给0
如果是memset(str, 1, 10)
那么这句话是把str的前10个单元都赋值给1了,其余的还是 随意值
记录一下!
c的关于数组初始化 和 memset用法相关推荐
- c++数组初始化与删除用法大全
0.前言 大家公认的c++学习曲线比较陡峭,在我看来很重要一个原因就是c++语法比较灵活,要实现某个功能可能有好多种写法都能实现,所以很多时候就容易给大家带来困扰,搞不清楚为什么要这么写,或者这么写到 ...
- C、C++数组初始化,数组赋值
原文发于:http://qing.weibo.com/2059598087/7ac2f907330029ze.html 在C/C++中,可以在数组定义的时候对其进行初始化: int a1[3] = { ...
- memset 数组初始化
void *memset(void *s, int ch, size_t n) 1.功能是: 将s所指向的某一块内存中的前n个字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址, ...
- C语言 数组初始化的三种常用方法({0}, memset, for循环赋值)以及原理
C语言中,数组初始化的方式主要有三种: 1.声明时,使用 {0} 初始化: 2.使用memset: 3.用for循环赋值. 那么,这三种方法的原理以及效率如何呢? 请看下面的测试代码: [cpp] v ...
- memset 用法 linux,bzero, memset ,setmem 区别
bzero 原型:extern void bzero(void *s, int n); 用法:#include 功能:置字节字符串s的前n个字节为零. 说明:bzero无返回值. 举例: ...
- C++: 数组初始化
文章目录 栈 动态数组 赋值 memset fill 栈 数组是底层数据类型,存放在栈中,其内存的分配和释放完全由系统自动完成. 通过如下代码初始化一个全局变量数组,初始化的规则就是不足数组大小的按默 ...
- C/C++数组初始化的一些误区
以前我这样初始化一个数组,并自我感觉良好: int a[5] = { 0 }; // 全部初始化为0 这种简单的写法让我非常爽,于是我又想把数组全部初始化为1: int a[5] = { 1 }; / ...
- 【C 语言】数组 ( 数组本质 | 数组长度定义 | 数组初始化 | 编译时初始化 | 显式初始化 - 重置内存 )
文章目录 一.数组本质 二.数组长度定义 三.数组初始化 1.编译时初始化 2.显式初始化 ( 重置内存 ) 一.数组本质 数组本质 : 类型角度 : 从 数组元素 类型角度分析 , 数组是 相同类型 ...
- 这样给数组初始化,你肯定没有见过
今天在朋友圈看到一个朋友发的图片 是给数组初始化的代码 截图如下: 我看到这个代码,也让我着实惊了一下,写代码这么久,也没有见过这样子初始化的. 这个代码是出自海思的SDK里面的,华为的大牛还是很多啊 ...
最新文章
- PyTorch踩过的12坑 | CSDN博文精选
- Xamarin图表开发基础教程(8)OxyPlot框架
- 代码讲解java_主要代码的讲解
- HDU - 4622 Reincarnation(后缀自动机-查询区间本质不同子串个数)
- 打开 谷歌浏览器exe_python使用selenium调用谷歌浏览器打开指定网页
- java new 实例化_java中使用new实例化
- 《大话数据结构(C#实现)》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+软件架构设计+框架编程+数组+栈+链表+图+队列+树+堆+二叉树+哈希表+立钻哥哥+==)
- 【转】用java将pdf转换成jpg图片的代码
- html font设置字号,html font标签怎么设置字体大小
- 《Python自然语言处理》——1.1 语言计算:文本和词汇
- SSL协议与数字证书原理
- B-spline Curves 学习之B样条曲线定义(4)
- 【Python】数据分析.pandas.透视表与交叉表
- ubuntu16 无法调节亮度问题
- Linux介绍以及常用操作命令
- 特斯拉Model3车主称无法开启;传高通开发首款笔记本处理器;Dfinity挑战亚马逊 | 雷锋早报...
- python实操案例_Python数据分析基础实操案例
- 服务器不正常断电关机导致sqlserver被标记为“可疑”
- MySQL学习(8)︱DISTINCT去重与表连接
- Java-什么是软件?