首页 > 代码库 > C++基础语法

C++基础语法

文档:http://www.cprogramming.com/tutorial/lesson6.html

 

1.头文件#include <string.h>是C语言的,而C++要用#include <string>

否则以下程序不能输出字符串:

int main(){

string a = "333ddd";

cout << a << endl;

cin.get();

}

 

 

2.switch case 语句

注意:case中不能为字符串,只能为int型

int main()
{
int a = 20;
switch (a)
{
case(10):
cout << "im 10" << endl;
case(20):
cout << "im 20" << endl;
default:
cout << "im default" << endl;
break;
}
cin.get();
return 0;
}

 

 

3. 指针,pointer

搞不懂就看文档:http://www.cprogramming.com/tutorial/lesson6.html

概念:

指针,也是一个变量。它的值存放的是另一个变量的内存地址。

eg:访问变量A有两种方式,一种是直接访问cout << A,

另一种是间接访问(即用A的地址来访问),

int A ;    //定义int型变量A

int *p ;    //定义指向int型的指针(int表示基类型,*表示变量p是指针类型),为什么要定义基类型,下面有说明。

p = &A;    //把A的地址传给p(即变量P的值存放的是A的地址)

cout << p;    //输出A的地址

cout << *p;     //输出变量A!!!!

 

定义:

// one pointer, one regular intint *pointer1, nonpointer1;// two pointersint *pointer1, *pointer2;

使用:

#include <iostream>using namespace std;int main(){   int x;            // A normal integer  int *p;           // A pointer to an integer  p = &x;           // Read it, "assign the address of x to p"  cin>> x;          // Put a value in x, we could also use *p here  cin.ignore();  cout<< *p <<"\n"; // Note the use of the * to get the value  cin.get();}

 

基类型:

eg:

int *p;

float *p;

string *p;

其中int float string就是基类型,既然有*表示p是指针变量,为何还要基类型呢,

原因是有p+1,表示p的值+1也就是地址+1,而不同int float string的1不同,比如int是2字节,string 4字节

 

 

4.结构体

概念:

有点像类,使用时,也得实例一个对象。

定义:

struct aaa{

  int a = 10;  //结构体中只能对整形初始化

  string b;

}

使用:

aaa obj;

obj.b = "im a string from struct";
cout << obj.a << obj.b <<endl;

 

结构体中使用指针:

struct aaa{

  int a = 10;

}

aaa obj;

aaa *pointer;

pointer = &obj;

cout << pointer->a << endl;    //使用-> , 就像类的对象调用方法一样

 

 

5.数组

定义:

string box[10];  //必须规定类型和长度

使用:(略)

 

数组中使用指针:

string box[10];

string *pointer;

pointer = &box;

 

6.方法

定义:

return-type function_name ( arg_type arg1, ..., arg_type argN ); 

 

 

 

C++基础语法