知识点1-5

学习目标

(1)指针大小。

(2)sizeof和strlen的区别。

(3)c语言中内存分配方式有几种。

(4)野指针是什么,为什么会导致野指针。

(5)数组和链表的区别。


一、指针大小

(1)指针的大小和编译器的位数有关,在32bit的系统下指针大小是4个字节,在64bit的系统下指针大小是8字节。

(2)指针的大小是固定的和指针类型无关。

二、sizeof和strlen的区别

(1)sizeof是一个运算符,strlen是一个函数,包含在<string.h>中。

(2)sizeof是计算所占内存大小,strlen是计算字符串长度。

(3)字符串以' \0 ’结尾,' \0 '不需要计算长度。

三、c语言中内存分配方式有几种

(1)静态存储器分配,例如全局变量、静态变量。

(2)栈上分配,例如函数中定义的局部变量。

  (3)   堆上分配,例如malloc、new。

四、野指针是什么,为什么会导致野指针

(1)野指针是指向不可用内存的指针。

(2)当指针被创建时,没有赋值这个时候指针就成了野指针。

(3)当指针被free或delete后,如果没有吧指针赋值为NULL,这个时候也为野指针。

(4)当指针越界的时候也为野指针。

五、数组和链表的区别

(1)数组的地址空间是连续的,链表的地址空间是不连续的。

(2)数组的访问速度比较快,数组直接通过下标访问;访问链表的时候需要遍历链表。

(3)链表的增删改查速度比数组快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值