20200505_指針錯誤

20200505_指針錯誤

每日小知識

線性結構的特點是:在數據元素的非空有限集中:
1、存在唯一的一個被稱爲“第一個”的數據元素。
2、存在唯一的一個被稱做“最後一個”的數據元素。
3、除第一個之外,集合中的每個數據元素均只有一個前驅;
4、除最後一個之外,集合中的每個數據元素均只有一個後繼。

一、相關術語

  • 指針
    C語言出現的概念,可以自由操作內存。

二、筆試題

1、找出下列指針錯誤。

void test1()
{
	char string[10];
	char* str1 = "0123456789";
	strcpy(string, str1);
}
---- ---- ---- ----

void test2()
{
	char strDst[10], str1[10];
	for(int i=0; i<10; i++)
	{
		str1 = 'a';
	}
	strcpy(strDst, str1);
}

答:test1,越界。
test2,str1不能在數組內結束。調用strcpy使得從str1內存起復制到strDst內存起復制的字節數具有不確定性。strcpy工作原理是複製到\0結束。

本文歸類

建議歸類到【C++】。

明日計劃

標題:實現strcpy函數
小知識:存儲數據時必須跟蹤的3種基本屬性(C++ Primer,p97)。

參考文獻:

《數據結構C語言版》,第2章,線性表。
《C++筆試面試寶典2011版.docx》。

今日收藏:

無。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章