C
umbrella_show
万丈高楼平地而起
展开
-
C语言数组学习
学习环境:xp ,vs 6++ 操作符:sizeof可用于求的数组的长度。用法:数组长度 = sizeof(数组名)/sizeof(数组第一个元素)一维数组: int len = 5; //int arr[len];//这种用变量来制定数组长度,在C语言中是不允许的,编译不通过 int arr[5];//这样声明数组,表示定义一个指针常量,没有指向任何int型数组,C语言不会给原创 2015-06-25 17:30:26 · 589 阅读 · 0 评论 -
C语言函数指针调用函数
C语言可以定义指针变量指向函数,通过指针来调用函数。使用:1、定义函数指针变量: 函数返回值类型 (*指针变量名)();2、将已有函数入口赋值给函数指针变量:fnPt = avg;3、使用指针变量调用函数:(*指针变量名)(参数);例子:定义函数指针变量,将不同函数赋值给指针变量,调用函数。#include //求最大值int zhizhentest3_1_原创 2015-07-01 21:26:18 · 7772 阅读 · 0 评论 -
C语言结构体
结构体:当需要将多个基本类型的值组合在一起才能表示一个有效的数据时,使用结构体。例如:定一个屏幕上一个点,需要横坐标x和纵坐标y两个值;定义一个巨型需要横坐标x、纵坐标y、宽度width和高度height。语法:struct结构体类型名{//成员变量;};定义一个point结构体类型struct point{int x;int y;};原创 2015-07-01 22:40:41 · 754 阅读 · 0 评论 -
C语言指向指针的指针
指针变量也是变量,也有自己的存储地址,如果再次定义变量来保存指针变量的存储地址,这个地址就是指向指针变量的指针。语法:类型** 变量名;void zhizhentest4_2(){int a = 5;int* p = &a;int** pt = &p;printf("%p\n", p);printf("%p\n", pt);printf("%d\n", **pt);原创 2015-07-01 22:35:20 · 544 阅读 · 0 评论 -
C语言extern
extern可用于声明全局变量,使用后面定义的全局变量#include //extern声明全局变量,将使用后面定义的globalVar全局变量extern int globalVar;void externtest1_1(){ printf("globalVar=%d\n", globalVar);}//extern修饰为外部函数,其他源文件声明该函数即可调用,默认为ext原创 2015-06-29 14:05:11 · 470 阅读 · 0 评论 -
C语言指针
指针就是内存地址,一个变量所在的内存地址就是该变量的指针。&:取变量内存地址,即取指针。*:取内存地址对应的变量,即取指针所指的变量。定义指针变量:类型* 指针变量名;例如:int* a 定义指向int类型的指针变量,只能存放int类型变量的地址float* b 定义指向float类型的指针变量,只能存放float类型变量的地址//指针基础void z原创 2015-06-29 15:23:32 · 415 阅读 · 0 评论 -
C语言字符串
C没有字符串类型,底层使用字符数组来保存字符串。两种定义字符串方式:1、使用字符数组来保存字符串。char str1[] = "I love U"; 相当于char str1[] = {'I',' ','l','o','v','e',' ','U','\0'};2、使用字符指针来表示字符串。char* str2 = "I love U"; 相当于char* st原创 2015-06-29 22:01:16 · 397 阅读 · 0 评论 -
C语言static
static可以修饰函数为内部函数,只能在本文件中被调用,其他源文件不能声明调用该函数。static还可修饰局部变量为静态局部变量,保存到静态存储区,下次再调用该函数时可以保留上一次的调用结果。#include void statictest1_1(int len){ auto int a = 0; static int b = 0; printf("a+len = %d+%d原创 2015-06-29 14:28:01 · 383 阅读 · 0 评论 -
C语言指针访问数组元素
数组元素都是连续存放的,数组变量本身保存了第一个数组元素的地址,系统可以快速定位各元素所在内存,从而快速访问数组元素。元素地址=首地址 + 数组元素类型占用字节数 * 索引指针变量加减n时,代表将该指针的地址加减n*变量字节大小。如果arr是数组,arr+1代表索引为1的元素地址,arr存放索引为0的元素地址, arr +1与 &arr[1]等价如果arr是数组,*(arr+1)取原创 2015-06-29 16:40:01 · 1561 阅读 · 0 评论 -
C语言宏定义
预处理命令:1、必须以#开头2、通常位于程序开头部门编译器在对C程序或Object-C程序编译之前,会对这些预处理命令进行处理,然后将这些预处理结果与源文件一起编译。#define、#undef执行宏定义#define:作用是为字符串起一个名字#undef :提前结束宏定义注意:宏定义不是C语句,不要用=给红名称赋值,无需分好结束;编译器处理宏定义只是进原创 2015-06-29 12:56:57 · 594 阅读 · 0 评论 -
C语言指针数组
当需要声明多个具有相同特征的指针变量时,可以使用指针数组。语法:类型*数组变量[长度];可以看出数组变量[长度]是一个整体,表示是声明一个数组。类型*是一个整体,表示数组元素的类型是指针类型。例子:#include #include void zhizhentest4_1_sort(char* names[], int len){ //定义字符指针变量 c原创 2015-07-01 22:18:49 · 430 阅读 · 0 评论