C++语法细微(二)(数组/指针/结构体)

/*
//2009年10月25日    2:00
//数组 指针 结构体 共用体 枚举

数组:
一维: 类型标识符 数组名[常量表达式];
int a[] = {1,2,3,4,5}; //合法
int a[5] = {1,2,3,4,5} ,b[5];
b=a; //非法
二维: 类型标识符 数组名[常量表达式1][常量表达式2]
int a[][4] = {{1},{},{2,3}}; //合法
strcpy(char[] , const char[])//第一个参数必须是字符数组
char str1[10];
str1 = "china"; //非法,不能把字符串常量赋值给字符数组名

//2009年10月25日9:30
指针:
指针的定义:基类型 *指针变量名;
& 取地址运算符;
* 指针运算符(间接访问运算符);
(*p++) 就是 (*(p++))
二维数组与指针:
int a[3][4];
int* p;
p = a[0];//可以
p = a; //不行 类型不一样 a指向a[0]

定义一个指向4个整形元素一维数组的指针:
int (*p)[4];

指向函数的指针:
int (*p)(int,int);
返回整形变量指针的函数:
int *p(int,int);
c语言中 函数的指针多用来做函数形参
double integral(double a, double b, double (*fun)(double));

指针数组:int *p[4] 四个元素都是指向整形int的指针
数组指针:指向数组的指针
int a[10],b[4][10],(*p)[10];
p = &a;
p = b;
p = &b[0];

引用(reference):
int a;
int &b = a;
在声明的时候必须初始化
指针变量 或者 变量作为形参 都是值传递
而引用作为形参 则是 地址传递

void swap(&a,&b);
int i,j;
swap(i,j);

结构体:
struct 结构体类型名
{成员列表};
结构体可以互相赋值,比如:
Student student1,student2;
student1 = student2;
Student *p;
p = &student1;
cout<<(*p).name;
cout<<(*p).num;
student1.name (*p).name p->name 相互等价

动态分配和撤销内存:
new 类型[初值];返回一个指针。
delete 指针变量;
注意new 和 delete 不是函数

共用体:
union 共用体类型名
{成员表列};
共用体类型名 共用体变量名;
共用体变量每一瞬间只能存放其中一种 而不是几种;
共用体变量地址和各成员地址一样;
不能再定义共用体的时候进行初始化 也不能将共用体作为函数参数。

枚举:
enum 枚举类型名 {枚举类型常量};
枚举元素是常量,默认从0开始计,若有改变,从改变的开始计。

typedef:
typedef int INTEGER;
typedef float REAL;

*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值