一辙谜、概念
/*
如何定義指針變量
普通變量
數(shù)據(jù)類型 變量名稱;
指針變量
數(shù)據(jù)類型 * 變量名稱;
數(shù)據(jù)類型 : 說明 將來指針變量能夠保存 什么類型的變量的地址
注意 : 指針變量是什么類型 : 那么將來就只能保存什么類型的變量的地址
例如 : 指針變量是int, 那么將來就只能保存 int類型變量的地址
* : 沒有任何特殊含義, 僅僅是為了標識 這是一個指針變量
變量名稱 : 用于區(qū)分不同的變量
int num; // 普通變量 num = 10;
int * p; // 指針 , 在64位的編譯器下 占用8個字節(jié)
p = # // 將num的地址 存儲到p這個地址中
(重點 : p = &num --- *p == num)
*/
二、代碼
#include <stdio.h>
// 基本數(shù)據(jù)類型 作為函數(shù)的參數(shù) 是值傳遞, 在函數(shù)中修改形參的值 不會影響到 外面實參的值
void change(int vlaue)
{
vlaue = 55;
}
// 數(shù)組作為函數(shù)的參數(shù) 是地址傳遞,如果是地址傳遞 在函數(shù)中修改 形參的值 會改變影響到外面實參的值
void change2(int vlaue[])
{
vlaue[1] = 55;
}
#pragma 指針
// 指針就是專門用于保存地址的
void change3(int *p) //用什么接收地址? 指針 = 0ffc12
{
*p = 33;
}
int main()
{
#pragma 1.需求 : 定義一個方法,在方法中修改傳入的實參的值
/*
// int num = 10;
int num[] = {1,3};
printf("修改前 num = %i\n",num[1]);
change2(num);
printf("修改后 num = %i\n",num[1]);
*/
int num = 10;
printf(" 前 num = %i\n",num);
change3(&num);
printf(" 后 num = %i\n",num);
/*
如何定義指針變量
普通變量
數(shù)據(jù)類型 變量名稱;
指針變量
數(shù)據(jù)類型 * 變量名稱;
數(shù)據(jù)類型 : 說明 將來指針變量能夠保存 什么類型的變量的地址
注意 : 指針變量是什么類型 : 那么將來就只能保存什么類型的變量的地址
例如 : 指針變量是int, 那么將來就只能保存 int類型變量的地址
* : 沒有任何特殊含義, 僅僅是為了標識 這是一個指針變量
變量名稱 : 用于區(qū)分不同的變量
*/
/*
int num; // 普通變量
num = 10;
int * p; // 指針 , 在64位的編譯器下 占用8個字節(jié)
// 千萬注意 : 指針變量 只能存儲地址
p = # // 將num的地址 存儲到p這個地址中
// p = &num
printf("num = %p\n",&num);
printf("p = %p\n",p);
// 指針變量前的 *號 代表訪問指針變量 指向的那一塊存儲空間(num)
// *p == num
*p = 55;
// printf("num = %i\n",num);
printf("num = %i\n",*p);
*/
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者