首页 > 代码库 > 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++基础语法