1. 程式人生 > >一級指標,二級指標,指標和陣列,指標陣列的理解及相關應用

一級指標,二級指標,指標和陣列,指標陣列的理解及相關應用

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>

一級指標 int main() { //字元型指標的一般使用 /*char p = ‘w’; char pc = &p; pc = ‘w’; return 0;/ //字元型指標的另一種使用 const char pstr = “hello bit”; printf("%s\n", pstr); return 0; }

int main() { char str1[] = “hello world”; char str2[] = “hello world”; char *str3 = “hello world”; char *str4 = “hello world”;

if (str1 == str2)
{
	printf("str1 and str2 are same\n");
}
if (str3 == str4)
{
	printf("str3 and str4 are same\n");
}
return 0;

} str3和str4指向的是同一個字元常量,由於字元型常量在記憶體中不會被改變 所以記憶體中只會開闢一塊空間來儲存str3和str4所指的內容,因此str3與str4指向同一個記憶體區域 str1[]和str2[]用相同的字元型常量去初始化時開闢的是不同的記憶體塊,因此str1與str2不同 二級指標 二級指標是指向一級指標地址的指標 二級指標的型別有int*,char*,float*,double等 int main() { //二級指標的使用 const char

pstr = “hello bit”; const char** ppstr = &pstr; printf("%s\n", *ppstr); return 0; } 指標和陣列 指標有兩種含義,一是作為資料型別,二是作為實體。

指標作為實體,是一個用來儲存一個記憶體地址的計算機語言中的變數。 指標一般出現在比較底層的程式設計語言中,如C語言。 高層的語言如Java一般避免用指標,而是引用。

指標作為資料型別 指標作為資料型別,可以從一個函式型別、一個物件型別或者一個不完備型別中匯出。 從中匯出的資料型別稱之為被引用型別(referenced type)。 陣列是用於儲存多個相同型別資料的集合。

指標陣列指的是一個存放指標的陣列 int* arr1[10]; //存放整形指標的陣列 char* arr2[5]; //存放字元型指標的陣列 char** arr3[5]; //存放二級字元型指標的陣列 *arr1//訪問的是四個位元組 &arr1//訪問的是40個位元組,&arr1的型別為 int [10]陣列指標型別

完成課堂程式碼和練習。