在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 为指向整型数据的指针变量。