1樓:匿名使用者
注意變數和數值的區別
int *p;
p=(int *)malloc(sizeof(int));
*p=5;
或者int *p,a;
p=&a;
*p=5;
p是一個指標,指向一個記憶體地址,你不指明p指向的位置,程式怎麼會知道你要給哪塊記憶體賦值呢?你可以申請一塊堆空間給p,或者直接定義一個變數,讓p指向該變數
2樓:伊·梵
int *p;
*p=5;/* 這時候p還沒有初始化呢,*p=5;可能導致系統崩潰,所以編譯器都要求先給指標賦值,然後再給指標的物件賦值*/
int a;
int *p=&a;/* 定義指標並初始化 */*p=5;/* 給指標物件賦值,相當於a=5; */
3樓:匿名使用者
p只是指標,沒有指向儲存空間,就是說根本沒有地方來放5這個值。
應該int i,*p;p=&i;*p=5;或者
int *p;p=malloc(sizeof(int));*p=5;
4樓:
指標必須有指向的物件,比如上面改為:int a,*p=&a;就ok了!!
5樓:匿名使用者
指標變數的賦值不對
……int a=4;
int *p;
p=&a;……
6樓:醉舞弄清影
p為指標,沒有宣告指向,不能直接賦值
c語言中int *p[5]與 int (*p)[5]的區別
7樓:姓從蓉祕素
你是不想問
int*p[
]和int
(*p)
[]的區別啊[]
的優先順序高於*
所以前者表示指標陣列,而後者是陣列指標,例如int*p[6]
表示p有6個元素,每個元素又是一個int型指標變數。int(*p)[6]表示指向具有6個元素的一維int型陣列的陣列指標變數
8樓:衄潲
樓上說的是錯的,int *p[5],首先
它是一個陣列,它的大小是5,它裡面存放的資料型別是int *,也就是整型指標。 所以它叫指標陣列、 (從右向左解析這個表示)
int (*p)[5],首先p是一個指標,指向大小為5的陣列,因此這叫陣列指標。(括號優先)
這個在《c專家程式設計》裡面說的很清楚。你可以看一下。
9樓:庾詩珊趙寄
int(*p)[4];//是指向一個2維陣列的指標int**p;//是一個指標的指標
兩個都是指向地址的
int(*p)[4]
是接收二維陣列的地址(常量)
int**p
是接收指標變數的地址(變數)
我是這麼理解的,不知道對不。
10樓:貴華燦僧琛
你確定你輸入的語句沒有問題嗎?
int*p();//這是一個整型指標函式,
int(*p)();//這個不能成為語句。
11樓:陳大濤
其實我們先討論一個優先順序的問題,的優先順序高於*,這就是為什麼後者加了一個(),int *p[5]定義一個指標陣列p,講到底這個p是一個陣列,陣列內的元素是5個指標,而陣列內的每一個指標指向一個int型的變數;int (*p)[5]定義了一個指向5個元素的一維陣列的指標。
12樓:匿名使用者
第二個就是這個指標所指的值是一個大小為5個int的陣列的首地址。換句話說,p+1(陣列地址+1)代表記憶體地址下移了5個單位。
13樓:匿名使用者
int *p[5]那麼p[0]是一個int指標
int (*p)[5] 那麼p是一個指向陣列的指標
c語言中的int(*(*p5)(int*))[5];怎麼理解?
14樓:
int (*(*p5)(int*))[5];——p5是個指標,指向一個具有一個int *型形參的函式,這個函式返回一個指向具有5個int元素的陣列的指標。
c語言中*p=5 p=5有什麼不同哦
15樓:強哥
*p=5中的*p表示p為一個指標變數,即給指標變數賦值5,指標變數是指存放地址的回變數;而p=5中的p為一不同變答量,給變數p賦值為5。
一般變數存放的是資料本身,而指標變數存放的是資料的地址。
*p=5中的*只在說明為一指標變數,而p為指標變數名,指標變數中只能存放地址,即這個5為地址5
p=5中的p只為一變數,這樣一來該變數的值為5。
呵呵,不知道清楚沒!希望對你有所幫助
16樓:匿名使用者
10];
cout<<"請輸入陣列a:"<>a[i];
cout<<"請輸入數x:"<>x;
for(int i=0;i<10;i++)if(x==a[i]) a[i]=0;
for(int i=0;i<10;i++)cout<
int b[10],a[10];
int j(0);
void fun()
}void main()
cout< i=b;}} 17樓:匿名使用者 *p是讀取指標p指向的地址的數值 p是指向的地址 18樓:匿名使用者 p=5就是把數字5賦值到p *p=5中的*p表示p為一個指標變數,即給指標變數賦值5,指標變數是指存放地址的變數 c語言中 int*p[4] 和 int(*p)[4]的區別是什麼? 19樓:匿名使用者 int*p[4]是指標的陣列 ,也就是說它 是一個陣列,陣列裡存的是一個個的指標 int(*p)[4]是陣列的指標,也就是說它是一個指標,指向的是一個陣列。指標指向的型別會影響到指標加減運算時地址的位移。比如說有一個陣列 int a[4],加上取址運算子 &a,這個表示式的型別就是指向陣列的指標,可以這樣賦值 p = &a;。 一般用於向函式傳遞二維陣列的時候使用這種型別,這時還有一種更直觀的寫法 void matrix_sum(int matrix_a[4], int matrix_b[4]) 這種寫法和 void matrix_sum(int (*matrix_a)[4], int (*matrix_b)[4]) 是等價的。 20樓:望闌珊將盡 結合性不一樣:前者是指標陣列,為4個int指標的陣列,有4個元素;後者是陣列指標,為一個指標,型別為指向包含4個int型別元素的一維陣列的指標。 莊生曉夢 c語言中清屏函式是為清除螢幕上的輸出功能,用法是 void clrscr void 程式例 include int main int i clrscr for i 0 i 20 i cprintf d r n i cprintf r npress any key to clear scre... ch陳先生 計算機記憶體儲存的時候認為規定了,只有0,沒有 0。c語言是一門程序導向的 抽象化的通用程式設計語言,廣泛應用於底層開發。c語言之所以命名為c,是因為c語言源自kenthompson發明的b語言,而b語言則源自bcpl語言。1967年,劍橋大學的martinrichards對cpl語言進... 模數運算子 計算第二個運算元除第一個運算元後的餘數。所有數值型別都具有預定義的模數運算子。希望對你有幫助 求餘數用的 比如10 3 結果為1 10 2 結果為0 我來總結的說一下吧 1.用來整數求餘 如4 3 1 2.放在特定小寫字母前用來控制輸入或輸出格式常用的有 d 整形 f 實數 c 字元 s...c語言中清屏函式是什麼,C語言中清屏函式是什麼?
c語言中!10的值為0,為什麼,c語言中a 1 0 的值是什麼
在c語言中起什麼作用,C語言中的 是個什麼意思啊 有什麼用啊