C和指針小結(jié)(推薦)
C和指針
相關(guān)基礎(chǔ)知識:內(nèi)存的分配(譚浩強版)
1、整型變量的地址與浮點型/字符型變量的地址區(qū)別?(整型變量/浮點型變量的區(qū)別是什么)
2、int *p,指向整型數(shù)據(jù)的指針變量。
3、通過指針變量訪問整型變量。
4、*p :指針變量p指向的存儲單元(變量)
5、p = &a——>> *p = *&a
6、用指針作函數(shù)參數(shù)
7、調(diào)用函數(shù)中,由于虛實結(jié)合是采用單向的“值傳遞”方式,只能從實參向形參傳數(shù)據(jù),形參值的改變無法回傳給實參。
8、引用一個數(shù)組元素可以用(1)下標(biāo)法(2)指針法(占內(nèi)存小,運行速度快)
9、指針提高效率在那些方面?(內(nèi)存,運行時間??)
10、如果指針變量p已指向數(shù)組中的一個元素,則p+1指向同一數(shù)組中的下一個元素。
11、用指針變量作函數(shù)形參接受數(shù)組地址。數(shù)組指針和指針數(shù)組的區(qū)別
#include"iostream" using namespace std; int main() { void sort(int *p,int n); int a[5],i; cout<<"input array:"<<endl; for(i=0;i<5;i++) cin>>a[i]; cout<<endl; sort(a,5); cout<<" the sorted array:"<<endl; for(i=0;i<5;i++) cout<<a[i]<<" "; cout<<endl; return 0; } void sort(int *p,int n) { int i,j,k,temp; for(i=0;i<n-1;i++) { k=i; for(j=i+1;j<n;j++) if(*(p+j)<*(p+k)) k=j; temp=*(p+k); *(p+k)=*(p+i); *(p+i)=temp; } }
12、一個int占多少個字節(jié)?
13、實參和形參的結(jié)合有一下4種形式:
實參 | 形參 |
數(shù)組名 | 數(shù)組名 |
數(shù)組名 | 指針變量 |
指針變量 | 數(shù)組名 |
指針變量 | 指針變量 |
14、實參數(shù)組名a代表一個固定的地址,或者說是指針常量,因此其值不可改變;形參數(shù)組名是指針變量,可以改變。// a++ //語法錯誤,不可改變
15、字符串與指針。字符串?dāng)?shù)組/字符串變量/字符指針 存放字符串。
//test_3 指針存放字符串 #include<iostream> using namespace std; // #include<string> //字符串變量 int main() { char str1[]="I Love C++",str2[20],*p1,*p2; p1=str1; p2=str2; for(;*p1!='\0';p1++,p2++) *p2=*p1; *p2='\0'; p1=str1; p2=str2; cout<<"str1 is "<<p1<<endl; cout<<"str2 is "<<p2<<endl; return 0; }
16、函數(shù)與指針。函數(shù)的入口地址就稱為函數(shù)的指針。
1)、用函數(shù)指針調(diào)用函數(shù)
函數(shù)類型 (*變量名)(函數(shù)形參表)
#include<iostream> using namespace std; int main() { int max(int x, int y); int (*p)(int,int); int a,b,m; p=max; cin>>a>>b; m=p(a,b); cout<<"max is "<< m<<endl; return 0; } int max(int x,int y) { int z; if (x<y) z=y; else z=x; return(z); }
2)、用指向函數(shù)的指針作函數(shù)參數(shù)。
3)、返回指針值的函數(shù):指針函數(shù)。
類型名 *函數(shù)名(參數(shù)列表);int *a( int x,int y);
17、
1)、指向常量的指針(不允許通過指針變量修改它指向的對象的值)
const 類型名 *指針變量名
2)、常指針(指定指針變量的值為常量,即指針變量的指向不可改變)
類型名 *const 指針變量名
Tips:必須在定義是初始化,指定其指向。
指針變量的指向不可改變,但指針變量的指向變量的值可以改變。*p2=12;//合法
注意(const和*的位置)。const在*后面,請與定義指向常變量的指針變量的形式比較。
3)、指向常量的常指針(指針變量指向一個固定的對象,該對象的值不能改變)。
const 基本類型名 *const 指針變量名
18)、void指針類型
以上這篇C和指針小結(jié)(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++ 詳解數(shù)據(jù)結(jié)構(gòu)中的搜索二叉樹
搜索二叉樹是一種具有良好排序和查找性能的二叉樹數(shù)據(jù)結(jié)構(gòu),包括多種操作,本篇只介紹插入,排序(遍歷),和刪除操作,重點是刪除操作比較復(fù)雜2022-04-04基于Matlab實現(xiàn)鯨魚優(yōu)化算法的示例代碼
鯨魚優(yōu)化算法(WOA)是澳大利亞學(xué)者Mirjaili等于2016年提出的群體智能優(yōu)化算法,根據(jù)座頭鯨的捕獵行為實現(xiàn)優(yōu)化搜索的目的。本文將利用Matlab實現(xiàn)這一算法,需要的可以參考一下2022-04-04