DS¼Æ»®CÉîÈëѧϰÏîÄ¿£º¡¾×ܽ᡿¡¾±äÁ¿¡¿±äÁ¿µÄ´æ´¢Óò
Èç¹ûÒª¼ÓÈë´Ë¼Æ»®:
1¡¢
·½Ê½1
£º¼ÓÈë
QQ
Ⱥ£º
93684322
¡£
2¡¢
·½Ê½2
£º¼ÓÈë
CSDN
Ⱥ×飺
DS¼Æ»®
¡£
1.1 ±äÁ¿´æ´¢Óò
1.1.1 Ò»¸öʾÀý
pang123huiÊ×ÏÈÌṩÁËÒ»¸öÍøÉÏÁ÷´«µÄѧϰ´úÂëʾÀý£º
int a = 0; //È«¾ÖÇø
void main()
{
int b; //Õ»
char s[] = “abc”; //sÔÚÕ»,abcÔÚÎÄ×Ö³£Á¿Çø
char *p1,*p2; //Õ»
char *p3 = "123456"; //123456ÔÚ³£Á¿Çø£¬p3ÔÚÕ»ÉÏ
static int c =0; //È«¾ÖÇø
p1 = (char *)malloc(10); //p1ÔÚÕ»£¬·ÖÅäµÄ10×Ö½ÚÔÚ¶Ñ
p2 = (char *)malloc(20); //p2ÔÚÕ»£¬·ÖÅäµÄ20×Ö½ÚÔÚ¶Ñ
strcpy(p1, "123456"); //123456·ÅÔÚ³£Á¿Çø
}
Õâ¸ö´úÂëʾÀýÖгöÏÖÁ˓ȫ¾ÖÇø”£¬“Õ»”£¬“ÎÄ×Ö³£Á¿Çø”£¬“¶Ñ”µÈ´ÊÓΪÁËͳһ£¬ÎÒÃÇʹÓá¶Cר¼Ò±à³Ì¡·ÖеÄ˵·¨£º¶ÑÕ»¶Î£¬BSS¶Î£¬Êý¾Ý¶Î£¬Îı¾¶Î¡£
¸÷¸ö¶ÎµÄ×÷ÓÃÈçÏ£º
1¡¢ Îı¾¶Î£º°üº¬³ÌÐòµÄÖ¸ÁËüÔÚ³ÌÐòµÄÖ´Ðйý³ÌÖÐÒ»°ã²»»á¸Ä±ä¡£
2¡¢ Êý¾Ý¶Î£º°üº¬Á˾¹ý³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿£¬ÒÔ¼°ËûÃǵÄÖµ¡£
3¡¢ BSS¶Î£º°üº¬Î´¾³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿¡£
4¡¢ ¶ÑÕ»¶Î£º°üº¬Á˺¯ÊýÄÚ²¿ÉùÃ÷µÄ¾Ö²¿±äÁ¿¡£
µ±È»£¬ÉÏÃæ¶ÎµÄ×÷Óò»½öÓÚ´Ë£¬¾ßÌåµÄ×÷ÓûáÔÚÏÂÃæµÄ֪ʶµãÖнéÉÜ¡£
1.1.2 ͨ¹ý´úÂë²âÊÔ±äÁ¿µÄ´æ´¢Î»ÖÃ
LinuxÏ¿ÉÒÔͨ¹ýϵͳÃüÁî“size”²é¿´¿ÉÒÔÖ´ÐгÌÐò¸÷¸ö¶ÎµÄ´óС¡£µ«ÊÇ£¬¿ÉÖ´ÐгÌÐòÖеĶνṹºÍÔËÐÐÖгÌÐòÔÚÄÚ´æÖеĶνṹ²¢²»ÍêÈ«Ïàͬ£¬µ«ÊÇÓÐÒ»¶¨µÄÓ³Éä¹ØÏµ¡£¾ßÌåÈçÏÂͼËùʾ£¨Í¼Æ¬ÐÅÏ¢À´×Ô¡¶Cר¼Ò±à³Ì¡·£©£º
ÏÂÃæÍ¨¹ý´úÂëʾÀýºÍ“size”À´Ñо¿±äÁ¿µÄ´æ´¢ÇøÓò¡£
test.c
int main()
{
return 1;
}
±àÒ룬²¢ÇҲ鿴¿ÉÖ´ÐгÌÐò¸÷¸ö¶ÎµÄ´óС£º
¸ü¸Ätest.c£º
int g_data;
int main()
{
return 1;
}
±àÒ룬²¢ÇҲ鿴¿ÉÖ´ÐгÌÐò¸÷¸ö¶ÎµÄ´óС£º
¿ÉÒÔ·¢ÏÖ£¬Îı¾¶Î£¬Êý¾Ý¶Î¶¼Ã»Óз¢Ëͱ仯£¬¶øBSS¶ÎÔö¼ÓÁË4¸ö×Ö½Ú¡£
½áÂÛ1£ºÎ´³õʼ»¯µÄÈ«¾Ö±äÁ¿±£´æÔÚBSS¶ÎÖÐ
¼ÌÐø£º
int g_data = 1;
int main()
{
return 1;
}
±àÒ룺
¿ÉÒÔ·¢ÏÖ£¬BSS¶ÎºÍÎı¾¶ÎÏàͬ£¬¶øÊý¾Ý¶ÎÔö¼ÓÁË4¸ö×Ö½Ú¡£
½áÂÛ2£º¾¹ý³õʼ»¯µÄÈ«¾Ö±äÁ¿±£´æÔÚÊý¾Ý¶ÎÖÐ
¼ÌÐø£º
int main()
{
static int g_data;
return 1;
}
±àÒ룺
¿ÉÒÔ·¢Ï
Ïà¹ØÎĵµ£º
C°æ±¾£º
vim stash.h
#ifndef STASH_H
#define STASH_H
typedef struct STASHTag {
int size; /* Size of each space */
int quantity; /* Number of storage spaces */
int next; /* Next empty space */
/* Dynamically allocated array of bytes: */
unsigned char* ......
ºÜÓвο¼ÒâÒåµÄѧÀúÁ÷³Ì¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í»§¼ÛÖµÉÏ£¬¶ø²»ÊÇÓïÑÔдµÃºÃ²»ºÃ¿´¡£
¡¡¡¡C++ÊÇCµÄÒ»¸öÃæÏò¶ÔÏóµÄ½âÊÍ£¬C++ΪCÀ ......
¡¡¡¡ÔÚÍøÂçÁ¬½ÓģʽÖÐ,³ý¶ÔµÈÍøÍâ,»¹ÓÐÁíÒ»ÖÖÐÎʽµÄÍøÂ磬¼´¿Í»§»ú/·þÎñÆ÷Íø£¬Client/Server¡£ÔÚ¿Í»§»ú/·þÎñÆ÷ÍøÂçÖУ¬·þÎñÆ÷ÊÇÍøÂçµÄºËÐÄ£¬¶ø¿Í»§»úÊÇÍøÂçµÄ»ù´¡£¬¿Í»§»úÒÀ¿¿·þÎñÆ÷»ñµÃËùÐèÒªµÄÍøÂç×ÊÔ´£¬¶ø·þÎñÆ÷Ϊ¿Í»§»úÌá¹©ÍøÂç±ØÐëµÄ×ÊÔ´¡£
¡¡¡¡ÕâÀï¿Í»§ºÍ·þÎñÆ÷¶¼ÊÇָͨÐÅÖÐËùÉæ¼°µÄÁ½¸öÓ¦Óýø³Ì£¨Èí¼þ£©¡£Ê¹ÓüÆËã» ......
/***
*strtok.c - tokenize a string with given delimiters
*
* Copyright (c) Microsoft Corporation. All rights reserved.
*
*Purpose:
* defines strtok() - breaks string into series of token
* via repeated calls.
*
************************************************************** ......
main.c
//³õʼ»¯¶ÓÁÐ
void InitQueue(LiQueue *q)
{
q=(LiQueue*)malloc(sizeof(LiQueue));
q->front=q->rear=NULL;
}
//ÅжÏÊÇ·ñΪ¿Õ
int QueueEmpty(LiQueue *q)
{
if(q->rear==NULL)
{
return 1;
}
else
{
......