添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在C语言编程中,当我们声明一个字符串数组的时候,常常需要把它初始化为空串。总结起来有以下三种方式:

  • (1) char str[10]="";
  • (2) char str[10]={'\0'};
  • (3) char str[10]; str[0]='\0';

第(1)(2)种方式是将str数组的所有元素都初始化为'\0',而第(3)种方式是只将str数组的第一个元素初始化为'\0'。如果数组的size非常大,那么前两种方式将会造成很大的开销。

所以,除非必要(即我们需要将str数组的所有元素都初始化为0的情况),我们都应该选用第(3)种方式来初始化字符串数组。

转载: https://www.cnblogs.com/tsingke/p/5799575.html

在C语言编程中,当我们声明一个字符串数组的时候,常常需要把它初始化为空串。总结起来有以下三种方式:(1) char str[10]=""; (2) char str[10]={'\0'}; (3) char str[10]; str[0]='\0';第(1)(2)种方式是将str数组的所有元素都初始化为'\0',而第(3)种方式是只将str数组的第一个元素初始化为'\0'。如果数组的si...
几个月之前,接触Android recovery源代码的时候,看ScreenRecoveryUI类的时候,那时候 C++ 基础还不是特别好,一直不明白以下的 初始化 方式: 下面这个是Recovery的一个构造函数,代码位于:screen_ui.cpp,它的类的实现在screen_ui.h。 如下这个ScreenRecoveryUI类,这个类是继承于RecoveryUI类的: 这个文件在screen_ui.h class ScreenRecoveryUI : public RecoveryUI { public: ScreenRecoveryUI(); void Init(); 2.int num = 5; arr[num]; 若使用arr[],则需要在后面对齐进行 初始化 ,来指定长度,否则编译可以通过,但是默认只有一个单元,超过一个单元的长度,在后面程序的运行 有可能会被冲掉 int arr[] = {0};//定义了一个单元的数组,并不是不定长数组 最好不用使用arr[] = {0}来定义数组,定义数组之前应要指定长度 int arr[256] = {0}; int a[256]={0};并不是把
本文主要给大家介绍了关于 C++ 11新特性之大括号 初始化 的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: C++ 11之前, C++ 主要有以下几种 初始化 方式: //小括号 初始化 string str(hello); //等号 初始化 string str=hello; //大括号 初始化 struct Studnet{ char * name; int age; Studnet s={dablelv,18}; //纯数据(Plain of Data,POD)类型对象 Studnet sArr[]={{dablelv,18},{tommy,19}};
大小为 n 的字符数组,最多能赋值 n - 1 个字符。若超过 n - 1 个,则会直接报错;若是少于 n - 1 个,则其余的自动赋为空字符 ‘ \0 ’ 。 若在定义数组时赋值为空,即: char a[ 5 ] = { ’ \0 ’ }; 其实这样赋值只是把第 1 个元素赋值为 ‘ \0 ’,后面的都默认用 ‘ \0 ’ 填充。 而若在定义数组时, char a[ 5 ] = { 顾名思义,就是用数值 初始化 变量。如果没有给定一个初始值,就会根据变量或类对象的类型提供一个初始值。对于int类型其值 初始化 后的值为0。 2、默认 初始化 :如果定义变量时没有指定初值,则变量被默认 初始化 。其初始值和变量的类型以及变量定义的位置相关。默认 初始化 类对象和默认 初始化 内置类型变量有所不同。 对于默认 初始化 内置类型变量来说: 1)定义在函数体之外的变...
C++ 结构体类型的定义和 初始化 有时需要将不同类型的数据组合成一个有机的整体,以供用户方便地使用。这些组合在一个整体 的数据是互相联系的。例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,都是这个学生的属性,见图 可以看到学号(num)、姓名(name)、性别(sex)、年龄(age)、成绩(score )、地址(addr)是与姓名为“Li Fun”的学生有关的。如果在程序 将num,name,sex,age,score,addr分别定义为互相独立的变量,就难以反映出它们之间的内在联系。应当把它们组织成一个组合项,在一个组合项 包含若干个类型不同(当然也可以相同)的数据项。C和C+
C++ 构造函数 当创建一个对象时,往往需要做一些 初始化 工作,例如对数据成员赋值等。为了解决这个 问题 C++ 提供了构造函数。 构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户调用(用户也不能调用),而是在创建对象时自动执行。构造函数的作用是在创建对象时进行 初始化 工作,最常见的就是对成员变量赋值。 一个构造函数的例子: #include <iostream> using namespace std; class Student{ private: char *name; int age; float score; public:     (1) char c[10]={'c',' ','p','r','o','g','r','a','m'};     (2) char c[]={'c',' ','p','r','o','g','r','a','m'};     (3) char c[]={"c program"};     (4) char c[]="c program";
指针(Pointer):就是内存地址,即单元编号。 指针变量,存放指针的变量,其值就是某个地址单元的地址。 指针变量的存储空间需要连续的4个字节单元,系统是32位的,所以指针变量固定是32位。类型为无符号整数(不是整型),保存变量所占存储空间的首字节的地址编号。int i; // 定义整型变量 i。 int *p // p 为指向整型数据的指针变量。