A. c語言 如何輸出指針所指向空間的大小
C語言無法輸出指針所指向的空間的大小!
一般,我們獲取一個變數所佔內存空間的方法為:sizeof(變數名或類型名),如:
int a;
int aa[10];
int *p=aa;
printf("sizeof(int)=%d\n", sizeof(int) ); //現在的機器一般為32位或64位機,int類型佔四個位元組,所以輸出4
printf("sizeof( a )=%d\n", sizeof(a) ); //輸出4
printf("sizeof( aa )=%d\n", sizeof(aa) ); //輸出4*10=40
printf("sizeof(p)=%d\n", sizeof(p) );//輸出4 ?見下面說明
printf("sizeof(int *)=%d\n", sizeof(int *) );//輸出4 ?見下面說明指針變數定義:用來存儲內存地址的變數。指針變數中存儲的是內存地址數據(一個整型數),而不是真正的數據,真正的數據是在地址中存放的。所以,指針變數實際上就是個整型變數,用sizeof命令去獲取任意類型的指針變數都會得到4。
指針變數存儲的是一個存儲空間的首地址,究竟這個空間有多大,可以存儲多少個數據,這是分配空間時所決定的。單獨看一個地址值,是看不出其空間大小的。如:
int
a;
int
aa[10];
int
*p
;
//定義一個指針變數
p=aa
;
//指向數組aa,aa的數據空間是40位元組,10個整數
p=&a;
//指向一個整型變數,它的存儲空間是4位元組,一個整數
B. c語言中如何讓指針數組中的值輸出
讓指針指著數組中的每一個數地址
然後for循環一次往下指
其中printf為循環體。就
OK了
C. 求大神指教!!C語言用指向一維數組的指針變數,輸入並輸出該數組的所有元素值。
#include<stdio.h>
intmain()
{
intarray[10];
inti,*p;
for(p=array,i=0;i<10;i++)
scanf("%d",p+i);
for(p=array,i=0;i<10;i++)
printf("%d",*(p+i));
return0;
}
D. 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賦值是不對的~
E. C語言指針輸出數組元素
根據題意可得代碼:
#include<stdio.h>
intmain()
{
inta[10],*p=a;
inti;
printf("pleaseinputteninteger: ");
for(i=0;i<10;++i){
scanf("%d",p+i);
}
while(p<a+10){
printf("%d",*p);
p++;
}
printf(" ");
return0;
}
F. c語言關於列印指針所指的值的問題
只有一個問題,把printf("%s",*b);這一句中的「*」去掉,改成:
printf("%s",b);
就能列印「abc」了。
有什麼問題請留言。
G. 寫程序(C語言),使用指針實現列印一維數組所有元素的操作。
#include
void main()
{
int a[100],*p;
int n,t;/*你所要輸入數字的個數*/
p=a;
printf("please input number n:");
scanf("%d",&n);
t=n;
while (n--)scanf("%d",p++);/*以此輸入要輸入的數字*/
p=p-t;
for(int i=0;i
H. c語言如何輸出指針所指向的值
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
I. c語言中如何借用指針輸出字元串
使用指針輸出字元串有以下幾種方式:
1、使用printf 函數進行輸出,其使用的格式轉換符為%s,如
char*str="test";//指針指向一個字元串
printf("%s ",str);//輸出str指向的字元串
2、使用puts函數進行輸出,如
char*str="test";
puts(str);//輸出str指向的字元串,會自動多輸出一個換行
3、使用自定義函數進行輸出,如
voidmyPuts(char*str)//自定義輸出函數
{
if(!str)return;
while(*str!='