C語言指針(含例子)_第1頁
C語言指針(含例子)_第2頁
C語言指針(含例子)_第3頁
C語言指針(含例子)_第4頁
C語言指針(含例子)_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C語言程序設(shè)計大賽培訓之 指針教學實踐部計算機中心教學實踐部計算機中心胡曉麗胡曉麗指針的用途指針在指針在C 語言里應用極為廣泛,是語言里應用極為廣泛,是C語言的靈魂語言的靈魂等許多其它數(shù)據(jù)類型等許多其它數(shù)據(jù)類型難以實現(xiàn)的復雜操作難以實現(xiàn)的復雜操作培訓目的o掌握指針的概念、指針變量定義格式和引用o掌握指針的運算方法o指針應用舉例理解指針理解指針 指針指針 就是內(nèi)存中的就是內(nèi)存中的變量的地址變量的地址理解指針理解指針o內(nèi)存單元的編號:計算機內(nèi)內(nèi)存單元的編號:計算機內(nèi)存中,每一個字節(jié)的存儲單存中,每一個字節(jié)的存儲單元都有一個編號(亦稱為元都有一個編號(亦稱為內(nèi)內(nèi)存地址存地址) o在在VC中,內(nèi)存單元

2、的編號是中,內(nèi)存單元的編號是一個一個8位的十六進制數(shù)(表示位的十六進制數(shù)(表示32位二進制數(shù),位二進制數(shù),VC是是32位編位編譯系統(tǒng))譯系統(tǒng)) 如:如:0013FF7C0013FF7C0013FF7B0013FF7A0013FF790013FF00.理解指針變量變量:實質(zhì)是代表了“內(nèi)存中的某個存儲單元”。若在內(nèi)存中定義了一個變量,則這個變量的內(nèi)存的地址也就確定了。若在內(nèi)存中定義了一個變量,則這個變量的內(nèi)存的地址也就確定了。理解指針變量的地址變量的地址:表示變量在內(nèi)存中的位置,其:表示變量在內(nèi)存中的位置,其值是該變量在內(nèi)存中所占存儲單元的首字節(jié)的編值是該變量在內(nèi)存中所占存儲單元的首字節(jié)的編號號

3、程序中: int i; float k; 內(nèi)存中每個字節(jié)有一個編號-地址.2000200120022005內(nèi)存02003ik 編譯或函數(shù)調(diào)用時為其分配內(nèi)存單元變量是對程序中數(shù)據(jù)存儲空間的抽象理解指針oa在內(nèi)存中占在內(nèi)存中占4個字節(jié),但個字節(jié),但&a的值是的值是4個字節(jié)中首個字節(jié)的編號個字節(jié)中首個字節(jié)的編號 n運算符運算符&:取地址,如:取地址,如&a 的值為變量的值為變量a的地址的地址 n變量地址的輸出可以用格式字符串變量地址的輸出可以用格式字符串“%p”#include void main() int a;a=8;printf(%d %pn,a,&a); 0013FF7C0000000000

4、13FF7B000000000013FF7A000000000013FF79000010000013FF00.理解指針理解指針我們在程序中只需要指出變量名,無需知道每個變量我們在程序中只需要指出變量名,無需知道每個變量在內(nèi)存中的具體地址,每個變量與具體地址的聯(lián)系是在內(nèi)存中的具體地址,每個變量與具體地址的聯(lián)系是由由C編譯系統(tǒng)來完成的。對變量的存取操作就是對某編譯系統(tǒng)來完成的。對變量的存取操作就是對某個存儲單元進行操作。這種個存儲單元進行操作。這種直接按變量的地址存取變直接按變量的地址存取變量值量值的方式稱為的方式稱為“直接存取直接存取”。 4502實實驗驗室室二二我有幾種方法我有幾種方法可以到實

5、驗室可以到實驗室上機?上機?2、按實驗室所在的、按實驗室所在的教室編號教室編號1、按實驗室名字、按實驗室名字按變量名按變量名按變量地址按變量地址 (即即 指針指針)實實驗驗室室一一實實驗驗室室三三45034707理解指針理解指針指針指針:也是一種變量,這種變量是用來存放內(nèi)也是一種變量,這種變量是用來存放內(nèi)存地址的。存地址的。指針變量o指針是指針是 字節(jié)的編號,即地址。字節(jié)的編號,即地址。 o指針也是要存儲的,因此每個指針也需要指針也是要存儲的,因此每個指針也需要一個變量來存儲它。這個變量稱為指針變一個變量來存儲它。這個變量稱為指針變量。指針變量的值是某一定義好的變量的量。指針變量的值是某一定義

6、好的變量的地址。地址。理解指針變量&a2001p=&a;1011ap例:例:int *p; int a=3;101220020000001100000000間接存取:這種通過變量p到變量a的地址,然后再存取變量a的值的方式稱為“間接存取”。指針變量p指向了變量a的含義是:指針p中存放了變量a的地址。指針變量的定義定義形式如下:定義形式如下: 數(shù)據(jù)類型數(shù)據(jù)類型 *指針變量名指針變量名; 如:如: int *p1, num; o表示的意思為:表示的意思為: 定義了一個指針變量定義了一個指針變量p1,它指向的是一個整型數(shù),它指向的是一個整型數(shù)據(jù)?;蛘哒f,這時候據(jù)。或者說,這時候p1中存儲的是一個整型

7、變量中存儲的是一個整型變量的地址。的地址。 o注意:指針變量定義了之后,需要給它賦一個確注意:指針變量定義了之后,需要給它賦一個確定的變量的地址,否則,就會出現(xiàn)嚴重的系統(tǒng)錯定的變量的地址,否則,就會出現(xiàn)嚴重的系統(tǒng)錯誤。誤。指針變量的引用#include main() int a; /定義一個整型變量定義一個整型變量a int *p1; /定義指向整型變量的指針定義指向整型變量的指針p1 p1=&a; /p1中應存放變量中應存放變量a的地址的地址 *p1=5; /通過指針變量通過指針變量p1給給a賦值賦值 printf(a=%d, a); 例:int *p,*s,k=20; s=&k; p=&s

8、;.2000200420062005整型變量k變量s200120022003變量p20072008202000200020042004s=*pk=*s所以:k=*p說明:(1)指針p的基類型是int類型的指針。(2)是求地址運算符。(3)因為基本數(shù)據(jù)類型int、float、char等所需存儲空間不同,所以需要定義指針變量的基類型。例例: 指針的概念指針的概念main() int a; int *pa=&a; a=10; printf(a:%dn,a); printf(*pa:%dn,*pa); printf(&a:%x(hex)n,&a); printf(pa:%x(hex)n,pa); pr

9、intf(&pa:%x(hex)n,&pa);運行結(jié)果:a:10*pa:10&a:f86(hex)pa:f86(hex)&pa:f88(hex).f86f8af8cf8b整型變量a10指針變量paf87f88f89f86指針的運算方法指針的移動所謂移動指針就是對指針變量加上或減去一個所謂移動指針就是對指針變量加上或減去一個整數(shù)整數(shù),或通過賦值運算,使指針指向相鄰的存,或通過賦值運算,使指針指向相鄰的存儲單元。只有當指針指向一串連續(xù)的存儲單元儲單元。只有當指針指向一串連續(xù)的存儲單元時,還可以和指向同一串連續(xù)存儲單元的指針時,還可以和指向同一串連續(xù)存儲單元的指針進行相減的運算,除此之外,不可以對指

10、針進進行相減的運算,除此之外,不可以對指針進行任何其它的算術(shù)運算。行任何其它的算術(shù)運算。指針的運算方法指針變量只能進行邏輯運算和相減的算術(shù)運算。指針變量只能進行邏輯運算和相減的算術(shù)運算。不是指向同一數(shù)組的指針變量運算是無意義的。不是指向同一數(shù)組的指針變量運算是無意義的。指針變量的值加指針變量的值加1或減或減1,并不是地址加,并不是地址加1中減中減1,而是加,而是加上或減去該變量在內(nèi)存中所占的字節(jié)數(shù),該字節(jié)數(shù)由指上或減去該變量在內(nèi)存中所占的字節(jié)數(shù),該字節(jié)數(shù)由指針的基類型決定。針的基類型決定。指針的移動111122334455a0a1a2a3a4pqDD00DD02DD04DD06DD08DD0A

11、DD0CDD0EDD10ijDD12DD14DD16p=&a0;DD00q=p+2;DD04q+;DD06q-;DD04i=*p;11j=*q;33例:例:指針的運算方法指針的比較在關(guān)系表達式中,可以對指針進行比較。即兩在關(guān)系表達式中,可以對指針進行比較。即兩個變量地址的比較。個變量地址的比較。通常兩個或多個指針指向同一目標時(一串連續(xù)的存儲單元),比較才有意義。指針應用舉例-指針作為函數(shù)的參數(shù)指針可以作為參數(shù)在主調(diào)函數(shù)和被調(diào)用函數(shù)之間指針可以作為參數(shù)在主調(diào)函數(shù)和被調(diào)用函數(shù)之間傳遞數(shù)據(jù),通過指針可以在被調(diào)用函數(shù)中地調(diào)用傳遞數(shù)據(jù),通過指針可以在被調(diào)用函數(shù)中地調(diào)用中的變量進行引用,這也就使得通過形

12、參改變對中的變量進行引用,這也就使得通過形參改變對應實參的值有了可能,利用此形式就可以把兩個應實參的值有了可能,利用此形式就可以把兩個或兩個以上的數(shù)據(jù)從被調(diào)用的函數(shù)返回到調(diào)用函數(shù)?;騼蓚€以上的數(shù)據(jù)從被調(diào)用的函數(shù)返回到調(diào)用函數(shù)。例例 將數(shù)從大到小輸出將數(shù)從大到小輸出指針應用舉例-指針作為函數(shù)的參數(shù)swap(int x,int y) int temp; temp=x; x=y; y=temp;main() int a,b; scanf(%d,%d,&a,&b); if(ab) swap(a,b); printf(n%d,%dn,a,b);指針應用舉例-指針作為函數(shù)的參數(shù).20002008200A2

13、002200420065變量a 變量b(main)9 變量temp 變量y 變量x(swap)559 59COPYswap(int x,int y) int temp; temp=x; x=y; y=temp;main() int a,b; scanf(%d,%d,&a,&b); if(ab) swap(a,b); printf(n%d,%dn,a,b);指針應用舉例-指針作為函數(shù)的參數(shù)swap(int x,int y) int temp; temp=x; x=y; y=temp;main() int a,b; scanf(%d,%d,&a,&b); if(ab) swap(a,b); pri

14、ntf(n%d,%dn,a,b);值傳遞.20002008200A2002200420065變量a 變量b(main)9運行結(jié)果:5, 9變量x 變量y(swap) 變量t59595swap(int *p1, int *p2) int p; p=*p1; *p1=*p2; *p2=p;main() int a,b; int *pointer_1,*pointer_2; scanf(%d,%d,&a,&b); pointer_1=&a; pointer_2=&b; if(ab)swap(pointer_1,pointer_2); printf(n%d,%dn,a,b);.20002008200A

15、200220042006200C200E2010.59整型變量a 整型變量b(main)指針pointer_1指針pointer_220002002(swap)指針p1指針p2整型p5920002002COPY5運行結(jié)果:9,5地址傳遞通過傳送地址值,可以在被調(diào)用函數(shù)中直接改變調(diào)用函數(shù)中的變量的值通過傳送地址值,可以在被調(diào)用函數(shù)中直接改變調(diào)用函數(shù)中的變量的值指針應用舉例-指針作為函數(shù)的參數(shù)指針應用舉例-指向數(shù)組的指針變量例編寫程序,定義一個含有15個元素的數(shù)組,并編寫函數(shù)分別完成以下操作:(1)調(diào)用C庫函數(shù)中的隨機函數(shù)給所有元素賦以049之間的隨機數(shù);(2)輸出數(shù)組元素中的值;(3)按順序?qū)γ?/p>

16、隔三個數(shù)求一個和數(shù),并傳回主函數(shù);(4)最后輸出所有求出的和值。指針應用舉例-指向數(shù)組的指針變量調(diào)用隨機函數(shù)的方法如下:包含頭文件stdlib.hn=rand()%x;n將得到一個在0(x-1)之間的隨機數(shù)。指針應用舉例-指向數(shù)組的指針變量分析:(1)由于要每隔3個數(shù)求一個和,15個數(shù)要求出5個和,所以主函數(shù)中要定義一個數(shù)組來存放5個和數(shù)。(2)兩次輸出元素的值,雖然輸出對象不同,但是數(shù)組的類型相同,可調(diào)用一個函數(shù)來完成,只要指定不同的數(shù)組名,不同的輸出個數(shù)即可。指針應用舉例-指向數(shù)組的指針變量#include stdio.h#include stdlib.h#define SIZE 15#d

17、efine N 3void getrand(int *,int);void getave(int *,int *,int);void printarr(int *,int);指針應用舉例-指向數(shù)組的指針變量void printarr(int *a,int n)int i;for(i=0;in;i+)printf(%4d, *(a+i); if(i+1)%5=0) printf(n);printf(n);指針應用舉例-指向數(shù)組的指針變量void getave(int *a,int *b,int n)int i,j=0,sum=0;for(i=0;in;i+)sum+=*(a+i);/*累加數(shù)組元

18、素累加數(shù)組元素*/if(i+1)%3=0) /*每累加每累加3個進行一次處理個進行一次處理*/bj=sum;sum=0;j+;指針應用舉例-指向數(shù)組的指針變量void getrand(int *a,int n)int i;for(i=0;in;i+)*(a+i)=rand()%50;指針應用舉例-指向數(shù)組的指針變量main()int xSIZE,wSIZE/N=0; /*數(shù)組中置初值為數(shù)組中置初值為0,準備存放,準備存放5個數(shù)的和個數(shù)的和*/clrscr();getrand(x,SIZE); /*調(diào)用函數(shù)產(chǎn)生調(diào)用函數(shù)產(chǎn)生15個隨機數(shù)放入數(shù)組個隨機數(shù)放入數(shù)組x中中*/printf(nOutput

19、 %d random numbers:n ,SIZE);printarr(x,SIZE); /*輸出輸出15個隨機數(shù)個隨機數(shù)*/getave(x,w,SIZE); /*每每3個數(shù)求一個和放入數(shù)組個數(shù)求一個和放入數(shù)組w中中*/printf(nOutput 5 sum numbers:n);printarr(w,SIZE/N); /*輸出輸出5個數(shù)的和個數(shù)的和*/指針應用舉例-指向數(shù)組的指針變量指針應用舉例-指向數(shù)組的指針變量例:編寫程序,將數(shù)組中的數(shù)按顛倒的順序重例:編寫程序,將數(shù)組中的數(shù)按顛倒的順序重新存放。在操作時,只能借助一個臨時存儲單新存放。在操作時,只能借助一個臨時存儲單元而不得另外開

20、辟數(shù)組。元而不得另外開辟數(shù)組。分析:不是要求按顛倒的順序打印數(shù)據(jù),而是要分析:不是要求按顛倒的順序打印數(shù)據(jù),而是要求按逆序重新放置數(shù)組中的內(nèi)容。假定求按逆序重新放置數(shù)組中的內(nèi)容。假定a數(shù)組中數(shù)組中有有8個元素個元素指針應用舉例-指向數(shù)組的指針變量102030405060708010011003100510071009100B100D100Fa0a1a2a3a4a5a6a7807060504030201010011003100510071009100B100D100Fa0a1a2a3a4a5a6a7指針應用舉例-指向數(shù)組的指針變量(1)定義兩個變量i和j,首先將a0,a7進行對調(diào),中間用到一個臨

21、時存儲單元,所以定義同類型變量temp。(2)將變量i加1,j減1,滿足條件ij時,將a1和a6進行對調(diào)(3)最后將a3和a4進行對調(diào),此時i+1,j-1不再滿足條件ij指針應用舉例-指向數(shù)組的指針變量#include stdio.h#define NUM 8void invert(int *,int);void priout(int *,int);main()int aNUM=10,20,30,40,50,60,70,80;printf(nOutput primary data: );priout(a,NUM);invert(a,NUM);printf(nOutput the inverse

22、 data: );priout(a,NUM);指針應用舉例-指向數(shù)組的指針變量void priout(int s,int n)int i;for(i=0;in;i+)printf(%4d,si);printf(n);void invert(int *a,int n)int i,j,temp;for(i=0,j=n-1;ij;i+,j-)temp=*(a+i);*(a+i)=*(a+j);*(a+j)=temp;指針應用舉例-指向數(shù)組的指針變量例:例:w數(shù)組中存放了數(shù)組中存放了n個數(shù)據(jù),編寫函數(shù)刪除下標為個數(shù)據(jù),編寫函數(shù)刪除下標為k的元素的值。的元素的值。指針應用舉例-指向數(shù)組的指針變量2122

23、232425262728293010011003100510071009a0a1a2a3a4a5a6a7a8a9k262728293021222324262728293030*10011003100510071009a0a1a2a3a4a5a6a7a8a9指針應用舉例-指向數(shù)組的指針變量getindex:用于輸入所刪除元素的下標,函數(shù)中對輸入的下標進行檢查,若越界,則要求重新輸入,直到正確為止。arrout:用于輸出數(shù)組中的元素arrdel:進行所要求的刪除操作指針應用舉例-指向數(shù)組的指針變量#include stdio.h#define NUM 10int arrdel(int *,int,

24、int);void arrout(int *,int);int getindex(int n);指針應用舉例-指向數(shù)組的指針變量main()int n,d,aNUM=21,22,23,24,25,26,27,28,29,30;n=NUM;printf(Output primary data: n);arrout(a,n);d=getindex(n);n=arrdel(a,n,d);printf(nOutput the data after delete:n);arrout(a,n);指針應用舉例-指向數(shù)組的指針變量getindex(int n)int p;doprintf(nEnter the

25、 index 0=p%d:,n);scanf(%d,&p);while(pn-1);return p;void arrout(int w,int m)int k;for(k=0;km;k+)printf(%5d,wk);printf(n);指針應用舉例-指向數(shù)組的指針變量int arrdel(int *a,int n,int k)int i;for(i=k;in-1;i+)ai=ai+1;n-;return n;指針應用舉例-指針指向字符串例:編寫函數(shù)例:編寫函數(shù)strlength(*s),函數(shù)返回指針,函數(shù)返回指針s所所指字符串的長度。指字符串的長度。相當于庫函數(shù)相當于庫函數(shù)strlen的功

26、能。的功能。指針應用舉例-指針指向字符串#include stdio.h#include string.hint strlength(char *s)int n=0;while(*(s+n)!=0)n+;return n;main()char str=ABCDEF;int len1,len2;len1=strlength();len2=strlength(str);printf(len1=%d,len2=%d,len1,len2);指針應用舉例-指針指向字符串例:編寫程序從若干字符串中找出最小的串進行輸出。例:編寫程序從若干字符串中找出最小的串進行輸出。#include stdio.h#inc

27、lude string.h#define N 20#define M 81指針應用舉例-指針指向字符串int getstr(char pM)char tM;/*開辟一個臨時的字符串存儲空間開辟一個臨時的字符串存儲空間*/int n=0;printf(Enter string. a empty string to end.n);gets(t);while(strcmp(t,)strcpy(pn,t);n+; gets(t);return n;指針應用舉例-指針指向字符串char *findmin(char (*a)M,int n)char *q;int i;q=a0;/*用用q指向字符串數(shù)組中最

28、小串的地址指向字符串數(shù)組中最小串的地址*/for(i=0;i0)q=ai;return q;指針應用舉例-指針指向字符串main()char sNM,*sp;int n;n=getstr(s);sp=findmin(s,n);puts(sp);指針應用舉例-函數(shù)指針指向函數(shù)的指針變量的定義#include “stdio.h”double fun(int a,int *p)main()double (*fp)(int ,int *),y;int n;fp=fun;y=(*fp)(56,&n)說明:(1)函數(shù)名代表該函數(shù)的入口地址(2)(*fp)(int,int *)說明fp是一個指向函數(shù)的指針,

29、這個函數(shù)的基類型是double(3)fp=fun把fun函數(shù)的地址賦給指針變量fp(4)y=(*fp)(56,&n)實現(xiàn)對該函數(shù)的調(diào)用。等于于 y=fun(56,&n)指針應用舉例-函數(shù)指針例:函數(shù)名或指向函數(shù)的例:函數(shù)名或指向函數(shù)的指針作為實參指針作為實參#include #include double tran(double (*)(double),double (*)(double),double);double tran(double (*f1)(double),double (*f2)(double),double x)return (*f1)(x)/(*f2)(x);指針應用舉例-

30、函數(shù)指針main()double y,v;v=60*3.1416/180.0; /*v=600*/y=tran(sin,cos,v);printf(“tan(60)=%10.6fn”,y);y=tran(cos,sin,v);printf(“cos(60)=%10.6fn”,y);指針應用舉例-動態(tài)存儲分配例:short int *pi;float *pf;pi=(short *)malloc(2);pf=(float *)malloc(4);說明:(1)因為malloc是void型的,所以需要強制轉(zhuǎn)換類型(2)強制轉(zhuǎn)換類型括號中的不可少,否則就變成了普通類型。if(pi!=NULL) *p=

31、6;if(pf!=NULL) *pf=3.863.8pipf指針應用舉例-動態(tài)存儲分配注意:由動態(tài)存儲分配得到的存儲單元沒有名字,只能靠指針來引用它。一旦指針改變指向,則原存儲單元及所存數(shù)據(jù)都將無法引用。通過調(diào)用malloc函數(shù)所分配的單元動態(tài)存儲單元中沒有確定的初值。在動態(tài)申請存儲空間時,若不能確定數(shù)據(jù)類型所占字節(jié)數(shù),可通過sizeof運算符來求得。指針應用舉例-動態(tài)存儲分配例: pi=(int *)malloc(sizeof(int); pf=(float *)malloc(sizeof(float);由系統(tǒng)來計算指定類型所占的字節(jié)數(shù),有利于程序的移植。指針應用舉例-鏈表單鏈表struct

32、 slistint data;struct slist *next;typedef struct slist SLIST;/0head指針應用舉例-鏈表(1)建立帶有頭結(jié)點的單向鏈表步驟:讀取數(shù)據(jù)生成新結(jié)點將數(shù)據(jù)存入結(jié)點的成員變量中將新結(jié)點插入到鏈表中。(重復操作直到輸入結(jié)束)。指針應用舉例-鏈表例:編寫函數(shù)creat_slist,建立如上圖所求的單向鏈表。結(jié)點數(shù)據(jù)域的內(nèi)容從鍵盤輸入,以-1作為輸入結(jié)束標志。鏈表頭結(jié)點的地址由函數(shù)值返回。h:頭指針,存放頭結(jié)點的地址r:指向鏈表當前的尾結(jié)點s:指向新生成的結(jié)點每當s把新開辟的結(jié)點鏈接到鏈表尾后,r便移向這一新的表尾結(jié)點。#include std

33、io.h#include stdlib.hstruct nodeint data;struct node *next;typedef struct node SLIST;main()SLIST *head;.head=return creat_slist(); /*調(diào)用鏈表建立函數(shù),得到頭結(jié)點地址調(diào)用鏈表建立函數(shù),得到頭結(jié)點地址*/SLIST *creat_slist()SLIST *h,*s,*r;int c;h=(SLIST*)malloc(sizeof(SLIST);/*生成頭結(jié)點生成頭結(jié)點*/r=h;scanf(%d,&c);while(c!=-1)s=(SLIST *)malloc(sizeof(SLIST); /*生成新結(jié)點生成新結(jié)點*/r-data =c;r-next =s;r=s; /*使使r指向當前表尾指向當前表尾*/scanf(%d,&c);r-next =0; /*置鏈表結(jié)束標志置鏈表結(jié)束標志*/return h;0headh-next=0指針應用舉例-鏈表(1)順序訪問鏈表中各結(jié)點的數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論