⑴ 指針定義數組(求會c語言的強者)

p=(struct student*)malloc(...) sum初始值是0,沒分配空間, 這條語句應該在輸入sum的值之後

⑵ c語言中怎麼用指針定義數組的地址

那是指針定義的時候必須要*號,int *p = a ,相當於 int *p ; p = a ; 兩步合做一步了。

⑶ c語言指針數組

p是int類型指針,指向數組a的第1個元素即一個一維的數組{1,2,3}首地址所以p[1]相當於a[0][1]所以printf("%d\n",p[1]);
輸出2 。 int **pp =pa 是聲明了一個指向pa的指針,而pa又是指向a首地址的int類型指針。pa指向的是a的第一維,pa[0] = a[0] ,pp[2][1]相當於a[2][1]而a數組的[2]中只初始化了[2][0]位置的7,那[2][1]位置就是默認的值0,所以printf("%d\n",pp[2][1]);
輸出0

⑷ c語言關於指針數組

實際上來說應該是int* p,這樣指的是p是指針變數。但是int* p, q這樣的話,p是指針專變數,q是普通變數。屬所以定義的時候要把*靠近變數名來寫,以方便閱讀。在使用的時候*p是取值。不明白可以追問。

⑸ C語言中關於指向數組的指針

char str[100];
char *pi=str; //相當於char *pi ;pi=str;
char **ppi=*pi;//這個地方抄錯了。應為char **ppi=π
定義加*表明這是指針類型的變數
用的時候,就是專用的指針,加*干什麼。
只有屬取指針所指變數的值,或給指針所指的變數賦值的等涉及指針所指的變數的時候,
才會又加*號,表示獲取或改變,指針所指變數的值。
char x=10;
*pi =x; //給指針所指的變數賦值,改變指針所指變數的值(改變*pi) 。
x=*pi; //取指針所指的值,取指針pi所指的變數的值(表示為*pi)賦值給x。

⑹ c語言 定義數組前加個星號什麼意思具體說一下。數組指針難道就是這樣定義,初始化的那數組名就是c

char *ch[4]={"red","green","blue"};
這句話的意思是這樣,定義一個指針數組ch[4],這個數組裡面每個元素都是指針,這些指針是r、g、b這三個字元串的頭指針,還有一個是指向「\0」的作為字元串的結束標志。
簡單點說,這樣的定義是定義一個二維字元數組,數組的第一行就是第一個字元串"red",第二行是"green",第三行書"blue",第四行是"\0"。之後就可以用ch[0][1]表示第一個字元串的第2個字母,這里就是e,ch[1][4]表示第二個字元串的第五個字母,這里就是n。

⑺ C語言指針變數可以當做數組嗎

比如說定義int *w
然後下邊就可以用作w[i]
這么對嗎?
對的話在什麼情況下可以這么使用?

答:不可以,因為w這時還是野指針。只有這樣
int *w,a[44];
w=a;
操作後才可以,操作w就與操作a一樣了。而且,操作指針比直接操作數組名更方便,因為指針是變數,可以++、--,而數組名是常量,不能++、--。
你追問的那個紅框框中的問題不是指針與數組名的問題,而是「形式參數」與「實際參數」的問題。寫函數定義的()中的前面帶類型說明符的變數名叫形式參數。形參與實參相比,最大的特點就是不用擔心沒有賦值或初始化就拿來引用,它們是留著調用時才用實參自動賦值的。而實參則不然,沒有賦值時拿來做右值,就會被警告「引用了沒有初始化的變數」,而且因為初值是隨機的而結果一般都是錯誤的。

⑻ C語言中用指針變數指向數組元素

main()
{int
a[10];
//定義數組a為整型
int
*p=a,i;
//p指向a的地址,即a[0]的地址
for(i=0;i<10;i++)
scanf("%d",&a[i]);
//給數組a賦值
printf("\n");
for(p-a;p<(a+10);p++)
//輸出數組元素
printf("%d",*p);
//p++表示p指向數組中下一個元素的地址
}
暫時先寫這么多,你一開始沒給p賦值是不對的~

⑼ c語言中怎麼定義一個字元串數組指針

c語言中定義一個字元串數組指針可以回這樣答寫:


//Exampleprogram
#include<stdio.h>

intmain()
{
charstr[]="abc";
char*p=str;
printf("%s ",str);
printf("%s ",p);
return0;
}

⑽ c語言中如何定義動態指針數組

可以這樣子寫
int n;
printf("請輸入你想定義的數組的大小:\n");
scanf("%d",&n);
int *a = (int *)malloc(n*sizeof(int));//申請n個整形數據空間 ,頭文件為stdlib.h/malloc.h
if(a == NULL)//申請失敗返回回-1
{printf("aply error\n"); return -1;}
memset(a, 0, n); //初始化申請到的答空間為0,頭文件為string.h
但是定義不了動態數組