C++数组学习笔记四
数组:是在内存中连续存储的一组同种数据类型的元素。
数组声明形式:type name [elements];例如:int billy [5];
中括号[]域必须是一个常量数值。
"初始化数组,声明一个全局数组,则它的内容将被初始化为所有元素均为0。
声明一个变量的同时把初始值赋给数组中的每一个元素。例如:int billy [5] = {16, 2, 77, 40, 12071};
{}中元素值个数必须和数组声明时中括号中指定的数组长度相符,但允许[]空白。例如:int billy [] = {16, 2, 77, 40, 12071};"
存取数组中数值
在程序中我们可以读取和修改数组任一元素的数值,像操作其他普通变量一样。格式:name [index]
"// arrays examlple
#include <iostream.h>
int billy [] = {16, 2, 77, 40, 12071};
int n, result=0;
int main () {
for (n = 5; n < 5; n++) {
result += billy[n];
}
cout << result;
return 0;
}
输出结果:12206"
多维数组可以被描述为数组的数组。
数组参数:数组作为参数传给函数。
"例如:
// arrays as parameters
#include <iostream.h>
void printarra (int arg[], int length) {
for (int n=0; n<length; n++) {
cout << arg[n] << "" "";
}
cout << ""\n"";
}
int main () {
int firstarray [] = {5, 10, 15};
int secondarray [] = {2, 4, 6, 8, 10};
printarray (firstarray, 3);
printarray (secondarray, 5);
return 0;
}
输出结果:5 10 15
2 4 6 8 10
"
字符序列:字符数组经常存储短语其总长度的字符串,一般在后面加结束字符可以写为0或者'\0'。
"初始化以空字符结束的字符序列:例如
char mystring[] = { 'H', 'e', 'l', 'l', 'o', '\0' };
字符串常量初始化例子:
char mystring [ ] = ""Hello"";"
"注意:同时给数组赋多个值只有在数组初始化时,也就是在声明数组时,才是合法的。
例如下面都是不合法的:
mystring = ""Hello"";
mystring[ ] = ""Hello"";
mystring = { 'H', 'e', 'l', 'l', 'o', '\0' };
"
给字符序列的赋值
使用函数strcpy,例如:
"// setting value to string
#include <iostream.h>
#include <string.h>
int main () {
char szMyName [20];
strcpy (szMyName, ""J.Soulie"");
cout << szMyName;
return 0;
}
输出结果:J. Soulie"
cin.getline输入字符串,例如:
"// cin with strings
#include <iostream.h>
int main () {
char mybuffer [100];
cout << ""What's your name?"";
cin.getline (mybuffer, 100);
cout << ""Hello "" << mybuffer << "".\n"";
cout << ""Which is your favourite team?"";
cin.getline (mybuffer, 100);
cout << ""I like "" << mybuffer << "" too.\n"";
return 0;
}
输出结果:What's your name? Juan
Hello Juan.
Which is your favourite team? Inter Milan
I like Inter Milan too.
"
字符串和其他数据类型的转换;
"atoi:将字符串string转换为整型int
atol:将字符串string转换为长整型long
atof:将字符串string转换为浮点型float"
"例子:
// cin and ato* functions
#include <iostream.h>
#include <stdlib.h>
int main () {
char mybuffer [100];
float price;
int quantity;
cout << ""Enter price:"";
cin.getline (mybuffer, 100);
price = atof (mybuffer);
cout << ""Enter quantity:"";
cin.getline (mybuffer, 100);
quantity = atoi (mybuffer);
cout << ""Total price:"" << price * quantity;
return 0;
}
输出结果:Enter price: 2.75
Enter quantity: 21
Total price: 57.75
"
字符串操作函数;函数库cstring(string.h)
strcat: char* strcat (char* dest, const char* src);//将字符串src附加到字符串dest的末尾,返回dest
strcmp: int strcmp (const char* string1, const char* string2);// 比较两个字符串string1和string2。如果两个字符串相等返回0
strcpy: char* strcpy (char* dest, const char* src);// 将字符串src的内容拷贝给dest,返回dest
strlen: size_t strlen (const char* string); // 返回字符串的长度
注意:char* 与 char[]相同
分享到:
相关推荐
自己数组学习的笔记,把数组总结了一下,希望对入门学C++的同学有一定的作用,大神就不必看了,刚刚开始学
C++学习随笔,学写了C++的有关知识,有些代码敲打气啦比较费劲,现在分享一个数组的代码
关于学习C++《STL模板库》以及学习《STL源码剖析》的学习笔记。
C++基础的学习笔记(其中的代码源件可私信留言) C++中的空头程序 使用C++书写hello world 学习变量 学习常量 标识符命名规则 数据类型 运算符 程序流程结构 数组 函数 指针 结构体
C++语法的学习笔记,随学习进度更新,目前到(六十一)。 书籍为PDF版的:C++ Primer Plus 第6版 中文版(971页) 学习进度为:第四章4.10.3(比较数组、vector对象和array对象) 尚未学习到4.11(总结) 顺便...
数组声明时,元素个数必须是常量表达式 数组声明带有初始化,则可直接为数组赋值 在数组声明时,必须指明数组长度,若在声明时候初始化,数组长度可省 int a1[2]={100,200}; 长度2 int a2[] = {5,6,7}; 长度3
C++ primer plus学习笔记之三,分为一下几个部分: 函数参数:介绍了函数的生命规则以及定义 数组函数:数组作为变量时的使用方法 指针和const:灵活运用指针和const 函数和二维数组:二维数组作为变量时声明以及定义...
C++学习笔记和常见面试知识点,C++11特性,包括多态、虚表、移动语义、友元函数、符号重载、完美转发、智能指针、const和static、数组指针和指针数组、struct内存对齐、enum和union关键字等等。帮助了解C++的特性,...
C++动态数组学习笔记
C++基础编程,适合小白和跨专业的同学学习,涉及 C++介绍(注释,变量,关键字,标识符命名规则)、 数据类型(整型,sizeof关键字,实型(浮点型),字符型,布尔型,数据的输入)、 运算符(算数运算符,赋值...
第一章 C++编程基础C++中,初始化各种变量可以用括号(面向对象的风格)例如:array(这里指普通数组,而不是C++11中的array类型)和vector的
类Class的用法 类的构造函数和析构函数 const成员函数 this指针 对象数组
C++语言程序设计(第三版),入门以提升。 第六章 数组 指针与字符串 第七章 继承与派生 第八章 多态性 第九章 群体类 和群体数据的组织 .......
主要介绍了Python3.4列表、数组操作,结合实例形式分析了Python3.4列表的创建、元素追加、删除、排序等相关操作技巧,需要的朋友可以参考下
——太棒了——c++学习笔记和常见面试知识点,c++ 11特性,包括多态原理,虚表,移动语义,友元函数,符号重载,完美转发,函数指针,智能指针,常量和静态的,数组指针和指针数组,结构内存对齐,枚举和联盟关键字等等,还新添了...
裸数组传入模板函数,退化还是不退化 auto与函数模板之推导规则辨析 decltype,乃编译器之化身 别再徘徊于{}与()之间了,来学习初始化的正确用法 编译器优化之copy elision、RVO 提高C++程序员的自我修养 from 剖析...
今天写写最近学习的C++课程笔记,南科大于仕琪老师的C++课程我是在闲暇时光花了两天时间看完的,(于教授是OpenCV中国论坛管理者,技术高超为人低调,之前也在深圳先进院工作过,也算是我的前辈了,需要好好向前辈...
C++中数组很坑,有没有类似Python中list的数据类型呢?类似的就是vector! vector 是同一种类型的对象的集合 ,每个对象都有一个对应的整数索引值。和 string 对象一样,标准库将负责管理与存储元素相关的内存。 ...
44. 指针与数组学习笔记 222 45. 数组不是指针 224 46. 标准C中字符串分割的方法 228 47. 汉诺塔源码 231 48. 洗牌算法 234 49. 深入理解C语言指针的奥秘 236 50. 游戏外挂的编写原理 254 51. 程序实例分析-为什么会...
学习C语言的基础知识,如关键字,语法,数组,指针