随笔分类 -  C语言基础

摘要:1 结构体定义与声明 1.1 定义结构体类型和声明结构体变量 struct Node{ int data; struct Node *next }; //定义一个结构体类型 struct Node node2; //声明一个结构体变量 1.2 定义结构体类型并声明结构体变量 struct Node{ 阅读全文
posted @ 2020-03-24 14:30 Mike_2019 阅读(262) 评论(0) 推荐(0)
摘要:1 sizeof用法 sizeof是获取数据在内存中所占用的存储空间,以字节为单位计数 int a = 10; //sizeof(a)=4 char b = 'b'; //sizeof(b)=1 int arr[] = { 1,2,3 }; //sizeof(arr)=12 数组元素个数:sizeo 阅读全文
posted @ 2020-03-18 20:59 Mike_2019 阅读(155) 评论(0) 推荐(0)
摘要:1 NULL指针 一个指针变量可以指向计算机中任何一块内存,不管该内存有没有被分配,也不管该内存有没有使用权限,只要把地址给他,他就可以指向。C语言没有一种机制保证指向内存的正确性,程序员必须自己提高警惕。 比如下面错误的例子,对没有初始化的指针进行操作,这是非常危险的。 char *str; ge 阅读全文
posted @ 2019-11-07 17:48 Mike_2019 阅读(556) 评论(0) 推荐(0)
摘要:1 指针数组 如果一个数组中所有元素保存的都是指针,我们称他为指针数组。 指针数组的定义形式:dataType *arrayName[lengt] 或者 dataType *(arrayName[lengt]) int a=1, b=34, c=100; int *arr[3]={&a, &b, & 阅读全文
posted @ 2019-11-07 17:00 Mike_2019 阅读(399) 评论(0) 推荐(0)
摘要:C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数。下面的例子定义了一个函数strlong(),用来返回两个字符串中较长的一个。 /* 返回两个字符串中最长的一个 */ char *strlong(char *str1, char *str2) { if(strlen(str1) 阅读全文
posted @ 2019-11-07 16:19 Mike_2019 阅读(1552) 评论(0) 推荐(0)
摘要:1 使用指针变量作为函数参数 用指针变量作为函数参数可以将函数外部的地址传递到函数内部,使得函数内部可以操作函数外部的数据,并且这些数据不会随着函数的结束而被销毁。 有些初学者会使用下面的方法交换两个变量的值: void swap(int a, int b) { int temp; //临时变量 t 阅读全文
posted @ 2019-11-06 22:37 Mike_2019 阅读(878) 评论(0) 推荐(0)
摘要:1 数组 int a[5] = {1,2,3,4,5};//在内存中分配5个int类型的内存空间,共4*5=20个字节 数组名a经常被隐式的转换为指向数组首元素的指针常量 2 数组指针 指向数组的指针叫做数组指针。 int a[5] = {1,2,3,4,5}, *p; p=a; 这时,下面两列取值 阅读全文
posted @ 2019-11-06 19:03 Mike_2019 阅读(248) 评论(0) 推荐(0)
摘要:优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[整型表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) . 成员选择(对象) 对象.成员名 -> 成员选择(指针) 对象指针->成员名 2 - 负号运算符 -算术类型表达式 右到左 单目运算符 (type) 阅读全文
posted @ 2019-11-06 17:10 Mike_2019 阅读(348) 评论(0) 推荐(0)
摘要:1 内存大小 1K Byte 0x00-->0X400 0-->210=1024 2K Byte 0x00-->0X800 0-->212=2048 4K Byte 0x00-->0X1000 0-->212=4096 1M Byte 0x00-->0X10 0000 0-->220 2M Byte 阅读全文
posted @ 2019-11-06 16:08 Mike_2019 阅读(198) 评论(0) 推荐(0)