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;
}
±àÒ룺
¿ÉÒÔ·¢Ï
Ïà¹ØÎĵµ£º
/***
*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
{
......
±ÈÈç ÊäÈë1.9»áÏÔʾ1.899999 ÀàËÆµÄÎÊÌâ
ÓÉÓÚCÓïÑÔÖжÔÓÚ¸¡µãСÊýµÄ±í´ï·½Ê½µÄ¾ÖÏÞµ¼Öµġ£CÓïÑÔÖÐ10½øÖÆÐ¡ÊýÊÇÖ±½ÓÓÃ2½øÖÆÐ¡ÊýÀ´±íʾµÄ¡£ÓÉÓÚijЩ10½øÖÆÐ¡Êý¸ù±¾ÎÞ·¨ÓÃ2½øÖÆÐ¡ÊýÀ´¾«È·±í´ï£¬Æ©Èç0.1,µ¼Ö¼ÆËã»ú²»µÃ²»ÓýüËÆµÄÏà²îºÜСµÄ2½øÖÆÐ¡ÊýÀ´±íʾÕâЩ10½øÖÆÐ¡Êý¡£
¼ÈÈ»ÊǽüËÆ£¬¾ÍÒ» ......
CÓïÑԵĻص÷º¯Êý˼Ïë´úÂ룺
#include <stdio.h>
void *max(void *base, unsigned int nmemb, unsigned int size,
int (*compar)(const void *, const void *))
{
int i;
void* max_data = base;
char* tmp = base;
&nbs ......
ÔÚC#Àï´´½¨ºÍʹÓÃC·ç¸ñÊý¾Ý½á¹¹£¬¼´·ÇÍйܵÄÊý¾Ý½á¹¹£¬¿ÉÒÔÌá¸ßÐÔÄÜ¡£
1 Êý¾Ý½á¹¹µÄ¶¨Òå
¿´ÏÂÃæÀý×Ó£º
unsafe struct A {
public int x;
}
unsafe struct B {
pu ......