(c基礎(chǔ))上課筆記 12.15

  • 二維數(shù)組

int a[  ][3]={1,2,3,4,5,6,7,8,9};
int a[  ][3]={1,2,3,4,5};
int a[  ][3]={0};```
* ##指針
* ####指針類(lèi)型是一種特殊類(lèi)型
```DataType *name
DataType* name
DataType * name```
以上寫(xiě)法都可以
----指針和普通變量的區(qū)別
 1. 指針:存地址
 2. 普通變量:存值
 3. 指針只能
----初始化
`int *p=NULL;`

```int a=3;
int *pa=&a;```

```int *pb;
pb=&a;```

```// int *pc
//*pc=&a; 這種是錯(cuò)誤的!```

----星號(hào)間接訪問(wèn)
`int *p,a=6;`
`p=&a;`
`printf("*p=%d",*p);`

`int *p=NULL;`
`printf("p=%p\n",p);`
`//printf("*p=%d\n",*p);   這是錯(cuò)誤的,p里面是空地址,*p不能被訪問(wèn)。`
----指針本身也有地址,指針變量是存儲(chǔ)別的變量的地址。
----不能將常量直接賦值給指針變量。
----把指針變量賦值給同類(lèi)型指針是可以的。不同類(lèi)型的指針如果想賦值必須要強(qiáng)制類(lèi)型轉(zhuǎn)換(char *p=(char *)p1).
----指針的大小:指針不同類(lèi)型的大小都一樣的(32位機(jī)為4字節(jié),64位機(jī)為8字節(jié))
* ####指針的類(lèi)型和指針?biāo)赶虻念?lèi)型
int *pa;(int* pa;)
double *pd;
----指針的類(lèi)型:去掉變量名之后的部分
----指針?biāo)赶虻念?lèi)型:去掉指針變量名和其前面的 *
* ####指針與數(shù)組
----數(shù)組名是一個(gè)地址
int a[5]={1,2,3,4,5};
int *p;
p=&a;
----(p+1)是等價(jià)于(a+1);等價(jià)于(a[2])
----數(shù)組元素的訪問(wèn)
int a[5]={1,2,3,4,5};
int *p=&a;
a[0];a[3];
*(a);*(a+3);
*(p);*(p+3);
p[0];p[3];
* ####野指針:沒(méi)有初始化,或者其指向的內(nèi)存被釋放,而且指針沒(méi)有被置空
----危害:造成系統(tǒng)資源的浪費(fèi),容易造成未知的致命錯(cuò)誤。
* ####指針地址的運(yùn)算
----自增:指針向高地址方向移動(dòng)
----自減:指針向低地址方向移動(dòng)
移動(dòng)的字節(jié)數(shù)是指針?biāo)赶驍?shù)據(jù)類(lèi)型的大小。
* ####概念區(qū)分
int a[3];    為數(shù)組,存放三個(gè)int型變量
int *p;   指針,其類(lèi)型為int型
int *p[3];  指針數(shù)組
int (*p)[3]  數(shù)組指針 又稱(chēng)行指針。

int a[4]={1,2,3,4};
int *p1[4];
int (*p2)[4];
int i=0,j=0;
for(i=0;i<4;++i)
{
p1[i]=&a[i];
}
p2=&a;
printf("%d\n",*p1[2]);//3
printf("%d\n",(*p1)[1]);//2


int array[3][3]={1,2,3,4,5,6,7,8,9}
int (*pc)[3]=array;
for(i=0;i<3;i++)
 for(j=0;j<3;j++)
printf("%4d  ",pc[i][j]);

* #### 二維指針
DataType **PointorName;

int a=10;
int *p=&a;
int **p1=&p;

printf("&a=%p\n",&a);
printf("p=%p\n",p);
printf("&p=%p\n",&p);
printf("pa=%p\n",&pa);

printf("*p=%p\n",*p);
printf("**p=%p\n",**p);

##作業(yè):
1.數(shù)組整和

include <stdio.h>

int main(int argc,char argv)
{
char a[10]="hello",b[10]="world",c[16];
char p=&a,p1=&c;
int i,n=0,j;
for(;;)
{
if(
p=='\0')
break;
p1=p;
++p1;
++p;
++n;
}
p=&b;
for(;;)
{
if(
p=='\0')
break;
p1=p;
++p1;
++p;
++n;
}
printf("a[10]={hello} b[10]={world}\n");
for(i=0;i<n;i++)
printf("%c",c[i]);
printf("\n",c[i]);
return 0;
}

2.查找數(shù)

include <stdio.h>

int main(int argc,char argv)
{
int a[5]={1,3,5,7,9},i,b=0;
int p=&b;
scanf("%d",&
p);
for(i=0;i<5;i++)
if(
p==a[i])
{
printf("已查找到%d,該數(shù)在第%d位。\n",
p,i+1);break;
}
else if(i==4)
printf("查找不到信息!\n");
return 0;
}

3.列出數(shù)組中個(gè)字符

include <stdio.h>

int main(int argc,char argv)
{
char a[50],
p=&a;
int i,n=0,x,sum=0;
for(;;)
{
scanf("%c",&
p);
if(*p=='\n')
break;
++p;++n;
}

    p=&a;
    x=0;
    for(i=0;i<50;i++)
    {
        if((*p>='a')&&(*p<='z'))
            x++;
            ++p;
    }
    n-=x;
    printf("小寫(xiě)字母有%d個(gè)\n",x);
    p=&a;
    x=0;
    for(i=0;i<50;i++)
    {
        if((*p>='A')&&(*p<='Z'))
            x++;
            ++p;
    }
    n-=x;
    printf("大寫(xiě)字母有%d個(gè)\n",x);
    p=&a;
    x=0;
    for(i=0;i<50;i++)
    {
        if((*p>='0')&&(*p<='9'))
            x++;
            ++p;
    }
    n-=x;
    printf("數(shù)字有%d個(gè)\n",x);
    p=&a;
    x=0;
    for(i=0;i<50;i++)
    {
        if(*p==32)
            x++;
            ++p;
    }
    n-=x;
    printf("空格符號(hào)有%d個(gè)\n",x);
    printf("其他符號(hào)有%d個(gè)\n",n);

return 0;
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第1章 第一個(gè)C程序第2章 C語(yǔ)言基礎(chǔ)第3章 變量和數(shù)據(jù)類(lèi)型第4章 順序結(jié)構(gòu)程序設(shè)計(jì)第5章 條件結(jié)構(gòu)程序設(shè)計(jì)第6章...
    小獅子365閱讀 10,892評(píng)論 3 71
  • 指針是C語(yǔ)言中廣泛使用的一種數(shù)據(jù)類(lèi)型。 運(yùn)用指針編程是C語(yǔ)言最主要的風(fēng)格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,619評(píng)論 3 44
  • !??!注意:因?yàn)楹?jiǎn)書(shū)的顯示格式緣故,所以“ * ”顯示會(huì)出現(xiàn)問(wèn)題,可能有些星號(hào)由于疏忽未改動(dòng)格式,造成沒(méi)有顯示,請(qǐng)...
    Eric_Hunter閱讀 1,166評(píng)論 0 0
  • 一、框架 1、Mac系統(tǒng)及常用工具、進(jìn)制;C數(shù)據(jù)類(lèi)型、常量變量、運(yùn)算符、表達(dá)式、格式化輸入輸出 2、關(guān)系運(yùn)算符、邏...
    師景福閱讀 858評(píng)論 0 2
  • 1、大小分歧 滬指低開(kāi)后弱勢(shì)震蕩了一個(gè)早上,臨近午間收盤(pán)的時(shí)候上漲50再次拉升異動(dòng),帶動(dòng)指數(shù)翻紅。午后開(kāi)盤(pán)后...
    阿凱古閱讀 250評(píng)論 0 2

友情鏈接更多精彩內(nèi)容