常用記憶體操作函式

pl0020發表於2020-12-21


常用記憶體操作函式

記憶體操作是C語言的基礎,常用的記憶體操作函式大致可以分成如下6類

1.設定記憶體資料

程式碼如下(示例):


void* rt_memset	
	(	void * 	s,
		int 	c,
		rt_ubase_t 	count 
	)

函式功能:

  • 此函式將記憶體的內容設定為指定的值

引數

  • s 源記憶體的地址
  • c 將要設定的值
  • count 源記憶體要被設定的長度

返回

  • 源記憶體的地址

2.複製記憶體資料

程式碼如下(示例):


void* rt_memcpy	
	(	void * 	dst,
		const void * 	src,
		rt_ubase_t 	count 
	)	

函式功能:

  • 此功能將記憶體內容從源地址複製到目標地址

引數

  • dst 目標記憶體的地址
  • src 源記憶體的地址
  • count 複製的資料長度

返回

  • 目標記憶體的地址

3.移動記憶體資料

程式碼如下(示例):


void* rt_memmove	
	(	void * 	dest,
		const void * 	src,
		rt_ubase_t 	n 
	)	

函式功能:

  • 該函式將源記憶體中的內容移動到目標記憶體地址中

引數

  • dest 目標記憶體的地址
  • src 源記憶體的地址
  • n 拷貝資料的長度

返回

  • 目標記憶體的地址

4.比較記憶體資料

程式碼如下(示例):


rt_int32_t rt_memcmp	
	(	const void * 	cs,
		const void * 	ct,
		rt_ubase_t 	count 
	)		

函式功能:

  • 該函式將比較兩個區域記憶體裡的內容是否一致。

引數

  • cs 一個記憶體區域
  • ct 另一塊記憶體區域
  • count 所比較的記憶體區域的大小

返回

  • the result比較結果

5.對齊分配記憶體

程式碼如下(示例):


void* rt_malloc_align	
	(	rt_size_t 	size,
		rt_size_t 	align 
	)			

函式功能:

  • 該函式將分配一各記憶體塊,該地址與指定的對其大小對齊。

引數

  • size 分配的記憶體塊大小
  • align 記憶體對齊大小

返回

  • 成功則返回分配的記憶體塊地址,失敗則返回RT_NULL

6.釋放對齊分配的記憶體

程式碼如下(示例):


void rt_free_align	(	void * 	ptr	)	
			

函式功能:

  • 該函式將釋放由rt_malloc_align函式分配的並且地址對齊的記憶體塊。

引數

  • ptr 將要釋放的記憶體塊指標

總結

提示:這裡對文章進行總結:
常用記憶體管理如上所示可以歸納為6個記憶體操作函式。

相關文章