當前位置:首頁 » 編程語言 » 在c語言中列印指針所指向的元素
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

在c語言中列印指針所指向的元素

發布時間: 2022-06-08 12:24:54

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!=''){

putchar(*str);

str++;

}

}

char*str="test";

myPuts(str);

(9)在c語言中列印指針所指向的元素擴展閱讀:

C++指針與字元串

1、C語言里沒有字元串數據類型,要想獲得字元串的表示形式利用字元數組

#include<iostream>

using namespace std;

#include<stdlib.h>

void main()

{

char ar[]={'a','b','c','d'};

cout<<ar; //字元串後無結束符,會有多餘列印

cout<<endl;

char br[]={'a','b','c','d',''};

cout<<br;

cout<<endl;

char cr[5]="abcd"; //字元串結尾默認隱藏了

cout<<cr;

system("PAUSE");

}

2、C語言里沒有字元串數據類型,要想獲得字元串的表示形式利用字元指針

#include<iostream>

using namespace std;

#include<stdlib.h>

void main()

{

char *p="hello world";

cout<<p;

//整形的指針,列印指針時只能列印其內部地址

//字元指針,列印指針時也是地址,但是這個被看作字元指針後,會列印該指針指向地址內存放的字元串,列印直到遇到為止

system("PAUSE");

}

3、靜態常量區的字元串存儲及指針訪問

#include<iostream>

using namespace std;

#include<stdlib.h>

#include<string.h>

void main()

{

char *p="hello world"; //hello world存放在內存的靜態常量區

//指針變數p存儲的是該靜態常量區的首個字元地址

//不能通過指針修改靜態常量區的字元,但是可以通過指針訪問

int length=strlen(p);

//strlen計算的是字元串p的有效長度,不算

for(int i=0;i<length;++i)

{

cout<<p[i];

}

system("PAUSE");

}

J. C語言的小問題,用指針使數組中的元素循環列印出

因為你在判斷p==(a+n)的if語句塊中,沒有加入break。

那麼程序判斷到第二次p==(a+n)後,就會執行其中的語句,然後繼續執行其後的printf的語句。

直到這個列印結束了,才到循環的結尾,才開始判斷t==2了,才結束循環。

話說你這樣的循環風格很不好,需要改進。

明明用兩個循環嵌套可以很好地解決問題,你卻要把他們揉在一起。

for (t = 0; t != 2; t++)
{
for (p = a; p != a+n; p++)
printf("%d ", *p);
printf("\n");
}