标签:
先说一下指针的用途:1.访问函数,在函数内部需要改变外部传入内部的值;2.函数中需得到一个连续存储空间的首地址;3.动态分配内存,需要记录分配内存的首地址。说穿了,指针的用途就是和地址相关的。
二维数组
定义方法 ①int temp1 [2][3] = {}; 第一个中括号是“行”,第二个中括号是“列”。
②int temp2 [][3] = {1,2,3,4,5,6}; “列数”不需要明确指出。
③int temp3 [2][3] = {1,2,3,4}; 后两个元素为0。
char *name[]; 这种声明,未分配内存空间。
字符串的交换不能直接用正常变量的方法进行交换。用<string.h>这个头文件中“strcpy( , )”(逗号后面的将字符串复制给逗号前的字符串)。
图片中的函数就是用自己的方法将“strcpy”函数重新写了一遍。
函数指针
int add (int a,int b){
}
int (*pfunction)(int,int) = add; //函数指针
int result = pfunction(3,4);
pfunction = aadd; //指向另一个函数
结构体
将多种类型的数据用一个类型来表示,但是只能声明变量,不能赋初值。
eg. 这个就是一个结构体,其中“typedef”是类型重定义,相当于给一个别名。
结构体的访问用“.”来访问。
结构体指针
Student *s;
如果*name是字符串 s->name = "xiaowang"; 结构体指针用“->”来访问。
如果name[]是数组接收 strcpy(s->name,"xiaowang");
s->age = 23;
Student *s[5]; //每一块都存着结构体的地址
Student xw ={"xiaowang",2345,23,164.3};
s[0] =&xw; //结构体指针数组里面的每一个都存着地址,如果不给他内存地址,它的值就为空,不可直接赋值。
s[0]->age = 20;
结构体数组
Student array[5] ={};
strcpy(array[0].name,"xiaowang");
array[0].age = 23;
标签:
原文地址:http://www.cnblogs.com/immustard/p/5042674.html